LAMP на Centos7

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.


Давненько я ничего толкового не постил по никсам. У меня уже есть статья про LAMP, но там это всё было на freebsd. Теперь же мы будем устанавливать и настраивать веб сервер на centos'е. 

И так. я буду предполагать что у вас уже установлена centos 7. И так. Первое что мы сделаем - установим текстовый редактор. Мне удобнее всего пользоваться nano. Но вы можете ставить что вам удобней. 

yum install nano -y

Скорее всего у вас выделенный сервер и вы и так работаете по нему через ssh. У меня же сервер на яслях (esxi) поэтому я ещё укажу что нужно сделать чтобы получить доступ к нему из вне. Для начала разрешим доступ по ssh

nano /etc/ssh/sshd_config

Раскоментируем следующие строчки: 

  • Port 22 - Собственно порт на котором работает ssh, можно указать другой
  • PermitRootLogin - разрешить доступ по ssh root'у. Мне удобней работать под рутом. Потом эту строчку можно закоментить и накрутить пару пользователей для работы непосредственно с веб сервером. Но в этой статье мы этого косаться не будем. 
Так как в этой статье мы не будем касаться вопросов безопасности сервера то и selinux следует отключить

nano /etc/sysconfig/selinux

и меняем enforced на disabled.

Так же отключаем фаервол.

systemctl stop firewalld
systemctl disable firewalld

После этого нужно ребутнуться чтобы изменения вступили в силу. Но я же предлагаю вначале обновить систему: 

yum update -y

Кстати, ключ "y" на конце означает что система не будет спрашивать подтверждения для установки. 

После того как обновили систему, можем обновить и само ядро. Подключим репозиторий, проверим не обновился ли модуль и обновляем ядро.

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
yum --enablerepo=elrepo-kernel install kernel-ml

Но после такого обновления, по умолчанию всё равно будет грузиться страрое ядро. Чтобы грузиться на новом пишем 

grub2-set-default 0

Пусть не много не попорядку, но так же рекомендую установиться утилиты которые могут в будущем нам пригодится (например для подключения сторонего репозитория для установки php7.1.

yum install yum-utils -y
yum isntall bind-utils -y
yum install net-tools -y

без этого у нас даже ifconfig работать не будет. Вот теперь можно перезагрузиться.

reboot

Вот теперь собственно и приступим к установке веб сервера. Первым делом установим Apache

yum install httpd -y

Добавим его в автозагрузку и запустим

systemctl enable httpd
systemctl start httpd

Теперь если перейти по IP адресу нашего сервера то мы увидим страничку заглушку апача. Если конечно всё правильно сделали. Если вы её не видити - проверяйте всё ли сделали правильно. Основные ошибки - это не отключили фаервол и не запустили сам апач. 


Теперь собственнно установим MariaDB. Из коробки в Centos доступна довольно старая версия, поэтому мы подключим отдельный репозиторий. Чтобы это сделать, нужно перейти на их сайт, выбрать свою систему и он сгенерирует файл настройек. После чего мы его вставляем. 

nano /etc/yum.repos.d/mariadb.repo

У меня он получился следующим


[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Запускаем установку

yum install MariaDB-server MariaDB-client -y

После установки, нужно запустить и добавить в автозагрузку

systemctl start mariadb
systemctl enable mariadb

После чего запускаем скрипт инициализации

/usr/bin/mysql_secure_installation

Отвечаем на вопросы. Я думаю там будет всё понятно. 

Для работы с мускулем можно пользоваться phpmyadmin. Его нужно устанавливать. Я же пользуюсь программой heidiSQL. А для этого нам нужно разрешить доступ к базе из вне. Для этого цепляемся к мускулю 

mysql -uroot -p

Он попросит ввести пароль. Вводим пароль и прописываем 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'vashparol';

где за место vashparol собственно ваш пароль. После этого под рутом можно будет цепляться с любого хоста. 

Теперь приступим к настройке веб сервера. Пусть опять не попорядку но мне так удобнее. Для начала создадим директории и выдадим права

mkdir /web && mkdir /web/forum && mkdir /web/forum/www && mkdir /web/forum/logs
chown -R apache. /web

После этого создаём фал конфигурации нашего сервера

nano /etc/httpd/conf.d/forum.conf

Приводим его к следующему виду

<VirtualHost *:80>
 ServerName forum
 ServerAlias www.forum.ru
 DocumentRoot /web/forum/www
 <Directory /web/forum/www>
 Options FollowSymLinks
 AllowOverride All
 Require all granted
 </Directory>
 ErrorLog /web/forum/logs/error.log
 CustomLog /web/forum/logs/access.log common
</VirtualHost>

Перезагрузим апач

systemctl restart httpd

Для проверки создадим файл в новом каталоге нашего сервера

nano /web/forum/www/index.html

следующего содержания

<h1>Hello World</h1>

Снова выдадим права

chown apache. /web/forum/www/index.html

Теперь при переходе на адрес сайта там должна отображаться надпись Hello World. Если так и есть - значит мы всё правильно сделали. Если нет - смотрим внимательней на то где могли ошибиться. А я продолжу. 

Теперь приступим к установке php 7.1. Эта та часть которую я больше всего не люблю. Потому как постоянно вылазят у меня какие-нибудь ошибки. Да и эту статью я начал писать по большей части для себя, чтобы уже просто был верный способ установки веб сервера. А не искать каждый раз инфу по разным сайтам. Если у вас есть возможность - сделайте либо полный бекап сервера, либо его снапшот. Чтобы в случае какого либо косяка, можно было спокойно откатиться назад и не начинать сначала. Ну или не искать инфу о удалении php, переустановке и так далее. 

Первым делом подключим репозиторий epel

yum install epel-release

Теперь подключаем репозиторий remi

rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Активируем репозиторий remi-php71

yum-config-manager --enable remi-php71

Устанавливаем php и модули к нему

yum install php php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip -y

Перезапускаем апач

systemctl restart httpd

Для самой верной проверки, опять создадим файл 

nano /web/forum/www/index.php

со следующим содержимым

<?php phpinfo(); ?>


и выдадим на него права

chown apache. /web/forum/www/index.php

Теперь если перейти по адресу: http://vashadresssaita.ru/index.php вы должны увидеть примерно следующую картину


Если вы её видите - поздравляю. У нас всё получилось! 

Я за своё время устанавливал веб сервер столько раз, что давно сбился со счёта. И до недавнего времени, у меня постоянно на пути установки выскакивали какие либо ошибки. При написании этой статьи, я прямо устанавливал веб сервер для очередных своих нужд. Так что инструкция полностью рабочая. Если же что то у вас не работает - смотрите внимательно. Где то может символ пропустили, или как бывает что создавали свою структуру папок, а в настройках апача, указали мою структуру (у меня такое было и не раз :) )


Поделись с друзьями

Имя:*
E-Mail: