Внимание!!! Если возникают какие-то вопросы или что-то не получается - задавайте вопросы на форуме.
Обращаю внимание на то, что жирным шрифтом выделена информация, обязательная к выполнению.
Установка веб-сервера.
Веб-сервер обычно состоит из нескольких компонентов, набор которых диктует сайт разворачиваемый на нём. На данный момент любой более-менее приличный сайт требует как минимум следующий набор компонентов:
- операционная система
- непосредственно веб-сервер,
- система управления базами данных,
- язык программирования веб-приложений.
Мы будем использовать самый классический набор компонентов, используемый на подавляющем большинстве веб-серверов в мире и сокращённо называемый LAMP - Linux, Apache, MySQL, PHP.
1) Linux уже установлен, приступим же к установке и настройке всего остального. Она не будет сложной, хотя займёт достаточно много времени:
apt install apache2 php libapache2-mod-php mariadb-server mariadb-client php-mysql php-curl php-gd php-intl php-pear php-imagick php-imap php-pspell php-recode php-snmp php-sqlite3 php-tidy php-xmlrpc php-xsl php-json phpliteadmin php-mbstring php-gettext php-zip
Здесь перечислено достаточно много пакетов, не все из них необходимо ставить, но некоторые шаблоны будущего сайта в будущем могут требовать тот или иной функционал, обеспечиваемый этими пакетами. И поставить полный комплект сейчас проще, чем разбираться в дальнейшем, почему что-то не работает на сайте.
2) После окончания установки необходимо проверить и предотвратить возможную проблему. По какой-то причине у меня неправильно установился модуль php json, критически важный для работы сайта. Проверим его наличие:cat /etc/php/7.3/mods-available/json.ini
Если в ответ мы видим
-; configuration for php json module
; priority=20
extension=json.so
то делать ничего не нужно и можно переходить к шагу №3. Если же в ответ нам говорят, что файл не найден, тогда нужно выполнить:cp /usr/share/php7.3-json/json/json.ini /etc/php/7.3/mods-available/json.ini
и включить модульsudo phpenmod json
3) Включаем php-модуль:phpenmod mbstring
4) Следующим этапом нужно увеличить объём загружаемых на сервер файлов, т.к. по умолчанию этот параметр установлен всего в 2 мегабайта, что очень мало и такое ограничение не позволить установить многие объёмные модули для будущего сайта.
Можно отредактировать конфигурационный файл вручную, для чего откроем его на редактированиеnano /etc/php/7.3/apache2/php.ini
и изменим строки
upload_max_filesize = 2M
post_max_size = 8M
на upload_max_filesize = 50M
post_max_size = 50M
Поиск по тексту в редакторе nano вызывается по сочетанию клавиш ctrl + w, сохранение ctrl + o, а выход из редактора - ctrl + x
А можно эту работу выполнить с помощью потокового текстового редактора sed:sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/7.3/apache2/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/7.3/apache2/php.ini
Проверить, сохранились ли изменения, можно, просмотрев файл настроек и отсортировав нужные нам строки:
grep -E "post_max_size|upload_max_filesize" /etc/php/7.3/apache2/php.ini
В результате мы увидим текущее значение интересующих нас параметров:
Конечно же, ограничение можно сделать таким, как Вам удобно - хоть несколько гигабайт.
5) Cоздаём пользователя баз данныхmysql -u root -p
Система спросит пароль системного администратора и, после его ввода, выдаст приглашение системы управления базами данных (СУБД)в видеMariaDB [(none)]>
Здесь нам нужно создать пользователя баз данных MySQL. Вводим строку вида:create user user@localhost identified by 'ПАРОЛЬ';
После успешного добавления пользователя можно выйти из СУБД нажатием ctrl-c
6) Стартуем MySQL/etc/init.d/mysql start
7) Перезапускаем веб-серверservice apache2 restart
8) Пришло время проверить наш свежеустановленный сайт.
Создадим простейшую веб-страницу.
откроем файл nano /var/www/html/info.php
впишем туда-<?php phpinfo(); ?>
сохраним ctrl-o и закроем ctrl-x
Эту же операцию можно произвести более продвинутым способом, подав всего одну команду:echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Она создаст нам файл /var/www/html/info.php с содержимым
<?php phpinfo(); ?>"
PHP-код, который вы поместили в файл, служит для отображения статуса веб-сервера. Если сейчас в веб-браузер ввести адрес
http://ip_вашего_сервера/info.php
, то мы должны увидеть примерно такую страницу:
Если это так - срочно принимайте поздравления - веб-сервер установлен и работает!
Следующая статья: Установка системы управления содержимым