Собираем LNMP на основе linux centOS 7 с консолью в зубах

Всем доброго времени суток и всяких таких разных вкусностей.

Давненько что-то мы с Вами не беседовали за линукс, теплое, ламповое, серверноесайтостроение и всё такое волшебное и замечательное. Сегодня буквально с нуля и имея под рукой пустой почти сервер-конфиг Veesp на основе маленькой безобидной (обычно всегда так кажется) CentOS 7 64 bit и несчастным экономным (по нашим меркам) 1 CPU соберем с Вами ни что иное, а стек Linux+Nginx+MySQL+PHP.

Собираем LNMP на основе linux centOS 7 и консоли в зубах - иконка статьи

Делается это не так сложно как всегда всем кажется, а потребуется для этой радости всего лишь обычная консоль SSH про которую, впрочем, мы уже писали-не-переписали много всего и разного, касаясь той же банальной putty. За основу мы взяли Veesp, дабы не рассказывать, во-первых, про один и тот же хостинг всё время, а, во-вторых, они потому что ребята предлагают безлимитный трафик на скорости 200 мбит/сек и нормальный аптайм, во всяком случае судя по открытой статистике status.veesp.com

Давайте приступим.

Вход в админку

Начнем с основ, а именно займёмся и найдем, где у нас живёт доступ в админ-панель и ssh к серверу. В нашем случае его можно найти под кнопочкой show в соответствующей панели Veesp:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - панель администрирования

Как правило, дают сразу root, после чего хороший администратор себе делает соответствующие аккаунты разного уровня доступа. В данном случае, мы немного опустим этот момент, благо мы немного даём его на обучении.

Кто-то очень внимательный заметит, что мы не замазали ip v6 адрес. Не обижайтесь, Вы к нему не достучитесь.

Ладно, с доступами разобрались, ткнем в putty, только айпишник укажем не вот из этой вот нашей статьи, а тот, что ip4:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 1 - putty

И громко постучим:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 2 - putty

к содержанию ↑

Обновление сервера

Начнем с традиционного обновления пакетов командой:

sudo yum update -y

Ответом будет нечто долгого:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 3 - putty

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 4 - putty

Ждем обновления репозиториев, пакетов, всего остального и потом идем дальше.

к содержанию ↑

Установка nginx

Такс, теперь нам нужна ответная часть, которая nginx еще. Добавим репозиторий командой, ну скааааажем:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

После этого давайте поставим сам nginx:

sudo yum install nginx -y

Выдача будет приблизительно следующего вида:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 5 - putty

Теперь откроем соответствующие порты на сервере, чтобы понимать, что последний таки нам отвечает:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 6 - putty

Останется запустить сам собственно nginx:

sudo systemctl start nginx.service

И добавить его в автозапуск при пере/загрузке сервера:

sudo systemctl enable nginx.service

Теперь можно проверить работу Nginx. Для этого введите ip-адрес виртуального сервера в браузере. Вам должна открыться стандартная страница приветствия. Если она открывается, значит Nginx установлен:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 7 - putty

к содержанию ↑

Установка MySQL (MariaDB)

Оригинальная версия мускула разработана фирмой MySQL AB. Первые версии MySQL появилась кажется в 1995 году и предназначались для личного использования, после чего спустя несколько лет вся эта конитель превратилась в базу данных корпоративного уровня и году так в 2008 компания Sun Microsystems приобрела MySQL AB за 1миллиард долларов, после чего Oracle купила Sun Microsystems и, скорее всего, из-за недоверия к стратегии развития был создан форк под названием MariaDB. Шли годы и за это время MariaDB начала использоваться во многих дистрибутивах Linux по умолчанию. Она используется для обеспечения работы большинства сайтов интернета, это воообще основа основ всех корпоративных серверов и его то мы и будем накатывать для работы с базами данных.

Как и чем будем ставить:

sudo yum install mariadb-server mariadb -y

А дальше и дело за запуском:

sudo systemctl start mariadb

Собственно:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 8 - putty

Дальше потребуется пройти набор вопросов безопасности, выглядящих примерно следующим образом:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 9 - putty

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 10 - putty

Большинство из них звучат как давайте как придумаем разумный свой пароль, не желаете ли удалить ли анонимных пользователей (если они откуда-то вдруг есть) (remove anonymous users), запретить ли доступ к управлению базой извне (disallow root login remotely), обновить ли привилегии в таблицах (reload privilege tables now) и тому подобная канитель.

Разобравшись с этими деталями (у всех они на свой вкус), дальше, собственно, радостно добавляем MariaDB в автозапуск:

sudo systemctl enable mariadb.service

Ну, а теперь дело за малым. Установка несущей части, а именно, - PHP, которая обычно ничем не привлекательна и в нашем случае выглядит так.

к содержанию ↑

Установка PHP части

Попробуем набор типовых конфигураций:

sudo yum install php php-mysql php-fpm -y

Ответ типовой:

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 11 - putty

Всё, дальше хорошо бы зайти в:

sudo nano /etc/php.ini

И проверить в конце наличие строки:

cgi.fix_pathinfo=0

Если нет, то конечно же добавить её.

Собираем LNMP на основе linux centOS 7 и консоли в зубах - скриншот 12 - putty

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

к содержанию ↑

Послеловие

Точнее как за малым, конечно неплохо бы его еще обвесить fail2banhttp/2, php-fpm, разновесистыми плюшками, добавить к nginx поддержку Вашим доменом https и малую переадресацию с одного на другое, да чтобы без www, накрыть фаерволлом и, как некоторые любят, еще и сменить некоторые права, порты и привилегии.

Но всё это тема отдельной статьи. Если Вам есть, что сказать, дополнить, добавить или что-то хотите услышать, то велком в комментарии и оставайтесь с нами! ;)

Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
TrasserZero

Есть небольшая просьба в тему так сказать.. Нельзя ли увидеть как-нибудь инструкцию по настройке NAS на основе FreeNAS, OpenMediaVault, NAS4Free ну или чего-то попроще с GUI для вениководов..

Soikelf

Можно. Просто X"ов (GUI) хватает и ставятся они быстро.
А уж в типовыпад билдах так вообще. Посмотримс...