Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Centos 7 и WEB сервер Apache + Nginx + php + MariaDB


 
Centos 7 и WEB сервер Apache + Nginx + php + MariaDB
 
Предполагается, что Centos 7 установлен и назначены ip адреса
 
 
 
Установим iptables:
yum -y install iptables
 
Правила для iptables:
 
 
 
Установка Apache:
yum -y install httpd
 
systemctl start httpd
systemctl status httpd
systemctl enable httpd
 
Проверка конф. файла
service httpd configtest
 
Конфигурационный файл:
/etc/httpd/conf/httpd.conf
 
Дополнительные конфиги хранятся тут:
/etc/httpd/conf.d/
 
Каталог по дефолту для сайтов:
/var/www/html/
 
Создадим в нем index.html
 
 
 
Модули
 
Каталоги хранения модулей:
/usr/lib/httpd/modules
/usr/lib4/httpd/modules
 
Каталог конфигураций модулей, которые ссылаются на модули:
/etc/httpd/conf.modules.d/
 
Скачаем модули:
yum -y install php
yum -y install php-fpm
 
По умолчанию Apache обслуживает PHP-страницы с помощью модуля mod_php
Мы будем использовать php-fpm
 
vim /etc/httpd/conf.d/php.conf
 
systemctl start php-fpm
systemctl enable php-fpm
 
Проверим:
[root@centos ~]# netstat -tulpn | grep php-fpm
cp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      3797/php-fpm: maste
 
 
Загрузка модуля в httpd.conf:
 
И добавим директиву документа по умолчанию:
 
systemctl restart httpd
 
 
Создадим в нем index.php
 
Обратите внимание, на странице phpinfo в строке:
Server API FPM/FastCGI
 
Посмотреть дополнения
yum search httpd
yum search php
 
 
Создаем виртуальные хосты
 
 
В httpd.conf добавим(192.168.1.10 - ip моего сервера с Apache):
 
service httpd configtest
 
systemctl reload httpd
 
В /var/log/httpd/ появятся файлы логов
 
 
 
Apache + SSL (HTTPS)
 
 
Проверим, есть ли модуль для apache:
apachectl -M | grep ssl
yum install mod_ssl
 
 
Пакеты для генерации самоподписанного сертификата:
yum -y install crypto-utils openssl
 
cd /etc/httpd
mkdir ssl && cd ssl
 
 
Создадим сертификат и ключ
 
Вариант 1(centos тут по имени машины):
genkey centos
 
The key will be stored in
/etc/pki/tls/private/centos.key
 
The certificate stored in
/etc/pki/tls/certs/centos.crt
 
Вариант 2:
 
Далее прописываем их:
vim /etc/httpd/conf.d/ssl.conf
 
vim /etc/httpd/conf/httpd.conf:
 
 
systemctl restart httpd
 
В /var/log/httpd/ появятся файлы логов ssl
 
 
 
 
Установка MySQL (свободная реализация MariaDB)
 
yum -y install mariadb-server
 
 
ДОбавим в автозагрузку и запустим:
systemctl start mariadb
systemctl enable mariadb
 
В Centos первоначальная настройка MariaDB делается так:
/usr/bin/mysql_secure_installation
 
1. Ввести пароль root (при первой установке достаточно нажать Enter)
2. Установите новый пароль root для баз данных
3. Отключить анонимный вход
4. Отключить удаленный вход под root
5. Удалить тестовые данные
6. Перезагрузить таблицу привилегий
 
Установим модуль MySQL для PHP:
yum -y install php-mysql php-mysqli
 
 
systemctl restart httpd
 
Прослушивание настраивается тут:
/etc/mysql/my.conf
 
Как видно логи будут писаться тут:
/var/log/mariadb/mariadb.log
 
В строке:
bind-address = 127.0.0.1
 
Если нужен доступ со всех ip - комментируем ее
 
Подключаемся:
mysql -u root -p
 
Сохдадим БД, пользователя и дадим ему привилегии:
 
Можно отдельно выдавать только необходимые права:
 
Смотрим список пользователей:
select user,host,password from mysql.user;
 
ПРоверяем подключение:
mysql -u testuser -p -D testdb
 
Убираем пользователя:
 
Делаем пользователя с удаленным доступом:
 
Как мы помним в начале, для доступа в iptables мы прописали строку:
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
 
 
Посмотреть версию:
mysqladmin --version
 
Сделаем простую страницу проверки:
 
 
 
Теперь установим Nginx как front-end к Apache
 
Для настройки репозитория yum в CentOS создаём файл /etc/yum.repos.d/nginx.repo:
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
 
rpm --import http://nginx.org/keys/nginx_signing.key
 
yum update
 
yum install nginx
 
Репозиторий можно добавить так-же:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
 
 
Apache перебросим на другой порт:
Конфигурационный файл:
vim /etc/httpd/conf/httpd.conf
Listen 8080
 
netstat -atnup | grep httpd
tcp6       0      0 :::8080                 :::*                    LISTEN      14057/httpd
 
 
Примеры простой связки с веб-сервером Apache (конф. файл nginx.conf):
 
 
 
Добавляем в автозагрузку и запускаем:
systemctl enable nginx.service
systemctl start nginx.service

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект