Внимание!!! Если возникают какие-то вопросы или что-то не получается - задавайте вопросы на форуме.

Обращаю внимание на то, что жирным шрифтом выделена информация, обязательная к выполнению.

 

Установка веб-сервера.

    Веб-сервер обычно состоит из нескольких компонентов, набор которых диктует сайт разворачиваемый на нём. На данный момент любой более-менее приличный сайт требует как минимум следующий набор компонентов:

  1. операционная система
  2. непосредственно веб-сервер,
  3. система управления базами данных,
  4. язык программирования веб-приложений.

   

    Мы будем использовать самый классический набор компонентов, используемый на подавляющем большинстве веб-серверов в мире и сокращённо называемый 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

, то мы должны увидеть примерно такую страницу:

 

Если это так - срочно принимайте поздравления - веб-сервер установлен и работает!

 

Следующая статья: Установка системы управления содержимым