Настройка WEB-сервера на Apache

Материал из darklurker wiki
Перейти к: навигация, поиск

Установка Apache на CentOS/Fedora

Используемые компоненты веб-сервера LAMP (Linux Apache MySQL / MariaDB PHP)

Данные команды гарантируют работу на CentOS 7 / Fedora 28

Устанавливаем apache (httpd):

yum install -y httpd

Добавляем apache в автозагрузку:

systemctl enable httpd

Запускаем apache:

systemctl start httpd

Проверяем, запустился ли сервер:

netstat -tulnp | grep httpd

Для проверки заходим на http://ip-address

Настройка Apache

Создаем следующие директории:

/web - основая директория.
/web/www - для хранения файлов сайта.
/web/logs - для хранения логов.
mkdir -p /web/{www,logs}/

Даем права на директорию:

chown -R apache. /web

Раскомментим строку IncludeOptional conf.d/*.conf по следующему пути:

nano /etc/httpd/conf/httpd.conf

Создаем файл конфигурации для сайта по пути:

/etc/httpd/conf.d/sitename.conf

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

Вариант 1

<Directory "/web/www/">
   Options FollowSymLinks
   AllowOverride None
   Require all granted
</Directory>

Вариант 2, с использованием виртуального хоста

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

возможные варианты virtualhosts

Помещаем содержимое сайта в созданную директорию /web/www/ и перезапускаем Apache (если сайт написан на php, то проверять его работу только после установки php)

systemctl restart httpd

Настройка ротации логов виртуального хоста, добавить /web/logs/*.log в начале файла по пути:

nano /etc/logrotate.d/httpd

Устанавливаем PHP

Установка php

yum install -y php
по умолчанию устанавливается версия 5.4, если необходима версия 7.х, то читать Обновление PHP до 7.2

Устанавливаем дополнительные компоненты PHP

yum install -y php-mysql php-mysqlnd php-mbstring php-mcrypt php-devel php-xml php-gd php-pecl-apcu php-opcache php-pear php-pecl-memcache php-pecl-memcached php-pecl-redis

Если нужно обновить до 5.6, то добавляем репозиторий

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7*.rpm

Обновляем до 5.6

yum --enablerepo=remi,remi-php56 install php php-common php-mysql php-mysqlnd php-mbstring php-mcrypt php-devel php-xml php-gd php-pecl-apcu php-opcache php-pear php-pecl-memcache php-pecl-memcached php-pecl-redis

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

systemctl restart httpd

Проверить версию PHP можно командой

php -v

Устанавливаем MariaDB

Установка mariadb

yum install -y mariadb mariadb-server
по умолчанию устанавливается версия 5.5, если нужна 10.х читать Обновление MariaDB до 10

Добавляем MariaDB в автозапуск

systemctl enable mariadb.service

Запускаем MariaDB

systemctl start mariadb

Запускаем настройку mysql MariaDB

/usr/bin/mysql_secure_installation
пароля нет, нажимаем Enter, везде соглашаемся y, когда предложат установить пароль root - устанавливаем.

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

systemctl restart mariadb

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