Как настроить сервер на raspian с django, apache2, mariasql, vhosts, pipenv

Я пытаюсь установить веб-сервер, и сделал несколько шагов в направлении его установки, но я столкнулся с препятствием, с которым, возможно, кто-то может мне помочь.

Я получаю следующую ошибку "This site can't be reached". Проверяю соединение Проверяю прокси и брандмауэр.

Я делал эту настройку только один раз, и это было давно, но исчерпал всю документацию на тот момент, когда я это делал. И любые обрывки информации были бы очень полезны.

Вот моя установка и шаги на данный момент, некоторые шаги будут сделаны позже, например, certbot и т.д.

В настоящее время я пытаюсь показать domain.co.uk в браузере после настройки файла /etc/hosts. Так что пока ничего через интернет, только все на локальной машине.

Оборудование:

Raspberry Pi 3 Model B V1.2 КАРТА ПАМЯТИ MICRO SD 16 ГБ Клавиатура Мышь Монитор 4K HDMI Кабель питания Кабель HDMI WIFI доступ Блок питания

Программное обеспечение:

Форматировщик карт памяти SD Raspberry Pi OS с рабочим столом (bullseye) Утилита проверки контрольной суммы MD5 & SHA Raspberry Pi Imager PassMark ImageUSB Chromium apache2 libapache2-mod-php

Процесс:

Скачайте "SD Memory Card Formatter".

Отформатируйте "16 GB MICRO SD CARD" с помощью "SD Memory Card Formatter".

Скачать "Raspberry Pi OS с рабочим столом (bullseye)".

Проверьте целостность данных с помощью "MD5 & SHA Checksum Utility".

Скачайте "Raspberry Pi Imager".

Установите "Raspberry Pi Imager".

Установите "Raspberry Pi OS with desktop (bullseye)" с помощью "Raspberry Pi Imager".

Вставьте "16 GB MICRO SD CARD" в "Raspberry Pi 3 Model B V1.2".

Включите "4K HDMI Monitor".

Вставьте "Power Supply" в "Raspberry Pi 3 Model B V1.2".

Установите тип "Клавиатура", Язык, Имя пользователя: "master", Пароль, "************".

Разрешить автоматическую загрузку любых обновлений.

Терминальная команда, "sudo apt-get update".

Терминальная команда, "sudo apt-get upgrade".

Терминальная команда, "sudo apt autoremove".

Загрузить, "PassMark ImageUSB".

Установить/копировать "PassMark ImageUSB".

Бэкап "Raspberry Pi OS with desktop (bullseye)" с помощью "PassMark ImageUSB".

Отформатируйте "16 GB MICRO SD CARD" с помощью "SD Memory Card Formatter".

Восстановите "Raspberry Pi OS с рабочим столом (бычий глаз)" с помощью "PassMark ImageUSB".

Проверьте, загружается ли "Raspberry Pi OS with desktop (bullseye)".

Терминальная команда, "sudo apt install apache2 -y".

Откройте браузер "Chromium" на "localhost", проверьте, запущен ли "Apache2".

Терминальная команда, "sudo apt install php -y".

Терминальная команда, "sudo apt install libapache2-mod-php".

Терминальная команда, "sudo nano /var/www/html/info.php".

Создайте файл: "" и сохраните.

Терминальная команда, "sudo service apache2 restart".

Откройте браузер "Chromium" по адресу "localhost/info.php", проверьте, что "PHP" запущен.

Терминальная команда, "sudo apt install mariadb-server".

Терминальная команда, "sudo mysql_secure_installation".

Введите текущий пароль: ""

Переход на аутентификацию unix_socket: "n".

Изменение пароля root: "y"

Новый пароль: "************" и подтвердите.

Удаление анонимных пользователей: "y".

Запретить удаленный вход в систему root: "y'.

Удалите тестовые данные и доступ к ним: "y".

Перезагрузите таблицу привилегий: "y".

Проверьте, можете ли вы войти в систему: "mysql -uroot -p ************"

Выйти из MySql: "exit".

Очистить историю пароля в bash, "history -c".

Терминальная команда: "sudo apt install phpmyadmin".

Выберите "apache2" для автоматической переконфигурации.

Конфигурирование базы данных с помощью dbconfig-common: "Да".

Пароль для phpmyadmin: "************" и подтвердите.

Подтвердите пароль: "sudo mysql -p -u root"

Предоставьте пароль: "************".

Выйти из MySQL: "exit".

Команда терминала: "sudo nano /etc/apache2/apache2.conf"

Добавьте "Include /etc/phpmyadmin/apache.conf" в нижнюю часть файла и сохраните.

Перезапустите "Apache2" с помощью "sudo service apache2 restart".

Бэкап "Raspberry Pi OS with desktop (bullseye)" с помощью "PassMark ImageUSB".

Терминальная команда: "sudo apt install libapache2-mod-wsgi-py3".

Терминальная команда: "sudo chown -R $USER /var/www/vhosts".

Создайте пароль приложения Bitbucket, "************".

Терминальная команда в "/var/www/vhosts" с

"git clone https://stephen-brown@bitbucket.org/account/project.git".

и пароль "************"

Терминальная команда в "/var/www/vhosts" с "mv shen-2020 domain.co.uk".

Терминальная команда: "cd domain.co.uk".

Терминальная команда: "git config --global credential.helper store".

Терминальная команда "cp shen.sql ~".

Откройте "Chromium" и перейдите к "localhost/phpmyadmin/"

Войдите в phpmyadmin под именем "root:************".

Создать базу данных "domain" с "utf8_general_ci".

Импортировать "shen.sql" из "~".

Терминальная команда в "/var/www/vhosts/domain.co.uk" с "cp backup.env .env".

Терминальная команда: "nano .env".

В программе "Nano" обновите DB_NAME=domain.co.uk, DB_USER=root, DB_PASSWORD=************, сохраните и exit.

Терминальная команда в "/var/www/vhosts/domain.co.uk/project/" с "nano settings.py"

В программе "Nano" создайте строку "from project.settings_common import *", сохраните и выйдите.

Терминальная команда: "sudo pip install pipenv".

Терминальная команда: "pipenv -python /usr/bin/python".

Терминальная команда: "mkdir /var/www/vhosts/domain.co.uk/.venv"

Терминальная команда: "pipenv shell".

Терминальная команда: "pipenv install -r requirements.txt"

Терминальная команда: "pip install django==3". (v3 требуется для pyMySQL)

Терминальная команда: "pip install django-environ".

Терминальная команда: "pip install PyMySQL".

Терминальная команда: "pip install easy_thumbnails".

Терминальная команда: "pip instaldjango-solo".

Терминальная команда: "pip instaldjango-recaptcha2".

Терминальная команда: "pip instalgit+https://bitbucket.org/calm/djboomin-git@python3".

Терминальная команда: "sudo apt install python3-mysqldb".

Терминальная команда: "sudo apt install libapache2-mod-wsgi-py3".

Терминальная команда: "python manage.py migrate".

Терминальная команда: "python manage.py runserver".

Откройте "Chromium", перейдите по адресу "127.0.0.1:8000" (проверка загрузки сайта).

Бэкап "Raspberry Pi OS with desktop (bullseye)" с помощью "PassMark ImageUSB".

Терминальная команда: "cd /etc/apache2/sites-available".

Терминальная команда "sudo cp 000-default.conf domain.co.uk.conf".

Терминальная команда "sudo nano domain.co.uk"

Обновите файл с "Кодом сценария 1" ниже, сохраните и выйдите.

Терминальная команда: "sudo a2ensite domain.co.uk.conf"

Терминальная команда: "systemctl reload apache2" и введите пароль, "************".

Терминальная команда: "sudo apt install snapd".

Терминальная команда: "sudo reboot".

Терминальная команда: "sudo snap install core".

Команда терминала: "sudo snap install certbot --classic".

Бэкап "Raspberry Pi OS with desktop (bullseye)" с помощью "PassMark ImageUSB".

Команда терминала: "sudo nano /etc/hosts".

Добавьте строку хоста для тестирования "127.0.0.1 domain.co.uk".

Код фрагмента 1

<VirtualHost *:80>
ServerAdmin sdbrown67@googlemail.com
ServerName domain.co.uk
ServerAlias www.domain.co.uk
DocumentRoot /var/www/vhosts/domain.co.uk
WSGIScriptAlias / /var/www/vhosts/domain.co.uk/project/wsgi.py
WSGIDaemonProcess domain.co.uk python-path=/var/www/vhosts/domain.co.uk
WSGIProcessGroup domain.co.uk

Alias /media/ /var/www/vhosts/domain.co.uk/media/
Alias /static/ /var/www/vhosts/domain.co.uk/static/

<Directory /var/www/vhosts/domain.co.uk/media>
    Require all granted
</Directory>

<Directory /var/www/vhosts/domain.co.uk/static>
    Require all granted
</Directory>

<Directory /var/www/vhosts/domain.co.uk>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Вернуться на верх