Всем доброго времени суток и всяких таких разных вкусностей.
Давненько что-то мы с Вами не беседовали за линукс, теплое, ламповое, серверное, сайтостроение и всё такое волшебное и замечательное. Сегодня буквально с нуля и имея под рукой пустой почти сервер-конфиг 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
Дальше дело за малым, - перезапустить сервер частями или целиком и приступить к использованию.
к содержанию ↑Послеловие
Точнее как за малым, конечно неплохо бы его еще обвесить fail2ban, http/2, php-fpm, разновесистыми плюшками, добавить к nginx поддержку Вашим доменом https и малую переадресацию с одного на другое, да чтобы без www, накрыть фаерволлом и, как некоторые любят, еще и сменить некоторые права, порты и привилегии.
Но всё это тема отдельной статьи. Если Вам есть, что сказать, дополнить, добавить или что-то хотите услышать, то велком в комментарии и оставайтесь с нами! ;)
Есть небольшая просьба в тему так сказать.. Нельзя ли увидеть как-нибудь инструкцию по настройке NAS на основе FreeNAS, OpenMediaVault, NAS4Free ну или чего-то попроще с GUI для вениководов..
Можно. Просто X"ов (GUI) хватает и ставятся они быстро.
А уж в типовыпад билдах так вообще. Посмотримс...