- Блоги
- Вебмастер
- VPS
- Apache2 - Веб-сервер
Apache2
Веб-сервер
- sudo apt update
- sudo apt install apache2
- открываем в фаерволе порты 80 (http) и 443 (https)
- sudo systemctl status apache2 - статус проверить apache2
- hostname -I - посмотреть ip или через интернет: curl -4 icanhazip.com
- в браузере набираем: http://your_server_ip
Расположение сайта на сервере:
- /var/www/html - по умолчанию и его файл конфигурации: /etc/apache2/sites-available/000-default.conf
- для нескольких сайтов:
- sudo mkdir /var/www/your_domain - создадим папку your_domain
- sudo chown -R $USER:$USER /var/www/your_domain - назначим владение директорией с помощью переменной среды $USER
- sudo chmod -R 755 /var/www/your_domain - пропишем права
- sudo nano /var/www/your_domain/index.html - создаём стартовую страницу index.html
- sudo nano /etc/apache2/sites-available/your_domain.conf - создаём файл конфигурации:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- sudo a2ensite your_domain.conf - активируем файл с помощью инструмента a2ensite
- sudo a2dissite 000-default.conf - отключаем сайт по умолчанию, определеный в 000-default.conf
- sudo apache2ctl configtest - проверим на ошибки конфигурации, должно выдать "Syntax OK"
- sudo systemctl restart apache2 - перезапустим Apache для внесения изменений
Полезные команды:
- sudo systemctl stop apache2 - остановить веб-сервер
- sudo systemctl start apache2 - запустить остановленный веб-сервер
- sudo systemctl restart apache2 - перегрузить веб-сервер
- sudo systemctl disable apache2 - отключить автозагрузку веб-сервера
- sudo systemctl enable apache2 - включить автозагрузку веб-сервера
Важные файлы и директории Apache:
- /etc/apache2: каталог конфигурации Apache. Здесь хранятся все файлы конфигурации Apache.
- /etc/apache2/apache2conf: главный файл конфигурации Apache. Его можно изменить для внесения изменений в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации.
- /etc/apache2/ports.conf: этот файл задает порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порта 80, а если активирован модуль с функциями SSL, он также прослушивает порт 443.
- /etc/apache2/sites-available/: каталог, где можно хранить виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации из этого каталога, если они не будут связаны с каталогом sites-enabled. Обычно все изменения конфигурации серверных блоков выполняются в этом каталоге, а затем активируются посредством ссылки на другой каталог с помощью команды a2ensite.
- /etc/apache2/sites-enabled/: каталог, где хранятся активные виртуальные хосты для каждого сайта. Обычно они создаются посредством создания ссылок на файлы конфигурации из каталога sites-available с помощью команды a2ensite. Apache считывает файлы конфигурации и ссылки из этого каталога при запуске или перезагрузке, когда компилируется полная конфигурация.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: эти каталоги имеют те же отношения, что и каталоги sites-available и sites-enabled, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальному хосту. Файлы из каталога conf-available можно активировать с помощью команды a2enconf и отключить с помощью команды a2disconf.
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: эти каталоги содержат доступны и активированные модули соответственно. Файлы с расширением .load содержат фрагменты для загрузки определенных модулей, а файлы с расширением .conf содержат конфигурации этих модулей. Модули можно активировать и отключать с помощью команд a2enmod и a2dismod.
Журналы сервера
- /var/log/apache2/access.log: по умолчанию каждый запрос веб-сервера регистрируется в этом файле журналда, если Apache не настроен по другому.
- /var/log/apache2/error.log: по умолчанию все ошибки регистрируются в этом файле. Директива LogLevel в конфигурации Apache указывает, насколько детальные записи регистрируются в журналах ошибок.
HestiaCP - бесплатная web панель управления сервером