Поиск по сайту:
Человек живет как сор и умрет как сор (В.В. Розанов).

Как установить LAMP (Linux Apache, MariaDB & PHP) на CentOS 7

23.11.2016
Как установить LAMP (Linux Apache, MariaDB & PHP) на CentOS 7

В этой статье мы собираемся показать вам, как установить LAMP (Linux Apache, MariaDB и PHP) на CentOS 7.

 

Что такое LAMP?

LAMP на самом деле это аббревиатура для стека веб – сервисов, состоящее из Linux, Apache HTTP Server , MySQL или СУБД MariaDB, и PHP, Perl или Python. Все компоненты являются программным обеспечением со свободными и открытыми исходными кодами, которые подходит для создания динамических веб – страниц.

 

Обновите систему

Как всегда, убедитесь, что ваш CentOS 7 полностью обновлен, используя следующие команды:

screen -U -S lamp-centos7
yum update

 

Установите MariaDB 

MariaDB является сервер базы данных по умолчанию в CentOS 7, так что идти вперед и установите ее с помощью следующей команды:

yum install mariadb mariadb-server mysql

 

После установки, добавьте bind-address = 127.0.0.1 в /etc/my.cnf.d/server.cnf, чтобы связать MariaDB локально:

vim /etc/my.cnf.d/server.cnf

[mysqld]
#log-bin=mysql-bin
#binlog_format=mixed
bind-address = 127.0.0.1

 

Перезапустите сервер базы данных MariaDB и включите ее в автозапуск системы с помощью:

systemctl restart mariadb
systemctl status mariadb
systemctl enable mariadb

 

И, наконец, вы можете запустить скрипт mysql_secure_installation после установки, чтобы закончить настройку MariaDB. Например:

mysql_secure_installation

Enter current password for root (enter for none): ENTER
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

 

 

Установите Apache

Затем приступитtе к установке Apache, OpenSSL и mod_ssl с использованием yum, так:

yum install httpd openssl mod_ssl

 

Перезапустите Apache и добавьте его для автоматического запуска на вашей системе с помощью:

systemctl restart httpd
systemctl status httpd
systemctl enable httpd

 

Проверьте настройку путем открытия, например, http: //ваш_ip_адрес_сервера/ в вашем браузере. Вы должны увидеть страницу Apache по умолчанию, например:

По умолчанию страница Apache в CentOS

 

Отлично. Теперь давайте настроим некоторые дополнительные параметры Apache, например, скрыть свой номер версии, его баннер и т.п …, добавив следующее в /etc/httpd/conf.d/options.conf.

vim /etc/httpd/conf.d/options.conf

TraceEnable off

## Disable Signature
ServerSignature Off

## Disable Banner
ServerTokens Prod

 

Тестирование конфигурационного файла Apache и перезапустить веб-сервер для того, чтобы изменения вступили в силу:

apachectl configtest
systemctl restart httpd
systemctl status httpd

 

Установить PHP

Для того, чтобы иметь возможность работать веб – приложениям на основе PHP, мы должны добавить поддержку PHP для веб – сервера Apache, поэтому давайте установим некоторые необходимые пакеты с yum:

yum install php php-mysql

 

Кроме того, вы можете установить некоторые другие расширения PHP, необходимые для ваших приложений. Вот список:

php-bcmath          : модуль для PHP-приложений для использования библиотеки BCMath
php-cli             : Интерфейс командной строки для PHP
php-common          : Общие файлы для PHP
php-dba             : Модуль абстракции базы данных для PHP-приложений
php-devel           : Файлы, необходимые для построения расширений PHP
php-embedded        : PHP библиотека для встраивания в приложения
php-enchant         : расширение enchant правописания для PHP-приложений
php-fpm             : PHP FastCGI Process Manager
php-gd              : модуль для PHP-приложений для использования библиотеки графики gd
php-intl            : расширение для PHP интернационализации приложений
php-ldap            : модуль для PHP-приложений, которые используют LDAP
php-mbstring        : модуль для PHP-приложений, которые требуют обработки многобайтовых строк
php-mysql           : модуль для PHP-приложений, использующих базы данных MySQL
php-mysqlnd         : модуль для PHP-приложений, которые используют базы данных MySQL
php-odbc            : Модуль для PHP приложений, использующих базы данных ODBC
php-pdo             : Модуль абстракции доступа к базам данных для PHP-приложений
php-pear.noarch     : PHP Extension и Application Repository framework
php-pecl-memcache   : Расширение для работы с кэширования демона Memcached
php-pgsql           : Модуль базы данных PostgreSQL для PHP
php-process         : Модули для PHP скрипт с использованием интерфейсов системного процесса
php-pspell          : модуль для PHP-приложений для использования pspell интерфейсов
php-recode          : модуль для PHP-приложений для использования библиотеки перекодирования
php-snmp            : Модуль для PHP приложений, запрашивающих SNMP-управляемых устройств
php-soap            : Модуль для PHP-приложений, использующих протокол SOAP
php-xml             : модуль для PHP-приложений, использующих XML
php-xmlrpc          : модуль для PHP-приложений, использующих протокол XML-RPC

 

Хорошо, давайте продолжим с конфигурацией PHP. Отредактируйте файл /etc/php.ini и установите следующие параметры :

vim /etc/php.ini

 

date.timezone = Europe/Moscow
memory_limit = 64M
expose_php = Off

 

перезапустите Apache, используя systemctl для того, чтобы изменения вступили в силу:

systemctl restart httpd
systemctl status httpd

 

Тестируем загрузку модуля PHP в Apache с помощью:

httpd -M | grep php

also

## php -v

 

Вы можете создать тестовый скрипт info.php, с помощью следующей команды:

echo -e "<?php\n\tphpinfo();" > /var/www/html/info.php

 

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

curl -I $(curl -s icanhazip.com)/info.php

 

 

Установить APACHE VHOST

Теперь вам придется настроить в Apache директивы Virtual Host, чтобы иметь возможность размещать несколько доменов, даже SSL, используя приведенные в действие один один IP – адрес. Таким образом, создайте файл /etc/httpd/conf.d/vhosts.conf и добавьте следующее:

cat /etc/httpd/conf.d/vhosts.conf

# Загрузка моих vhosts
IncludeOptional vhosts.d/*.conf

 

Это говорит Apache, загрузить конфигурационные файлы, оканчивающиеся на .conf которые находятся в /etc/httpd/vhosts.d. Как вы может уже догадались, это место, где мы указываем наши виртуальные хосты, так что давайте настроим один для my_domain.com и другой для my_domain2.ru.

 

VHOST для my_domain.com

## cat /etc/httpd/vhosts.d/my_domain.com.conf

<VirtualHost YOUR_SERVER_IP:80>
    ServerAdmin webmaster@my_domain.com
    DocumentRoot "/var/www/html/my_domain.com"
    ServerName my_domain.com
    ServerAlias www.my_domain.com
    ErrorLog "/var/log/httpd/my_domain.com-error_log"
    CustomLog "/var/log/httpd/my_domain.com-access_log" combined

    <Directory "/var/www/html/my_domain.com/">
        DirectoryIndex index.html index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

 

VHOST для my_domain.net

## cat /etc/httpd/vhosts.d/my_domain.net.conf

<VirtualHost YOUR_SERVER_IP:80>
    ServerAdmin webmaster@my_domain.net
    DocumentRoot "/var/www/html/my_domain.net"
    ServerName my_domain.net
    ServerAlias www.my_domain.net
    ErrorLog "/var/log/httpd/my_domain.net-error_log"
    CustomLog "/var/log/httpd/my_domain.net-access_log" combined

    <Directory "/var/www/html/my_domain.net/">
        DirectoryIndex index.html index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

 

И, наконец, перезапустите Apache для того, чтобы изменения вступили в силу:

apachectl configtest
systemctl restart httpd
systemctl status httpd

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Спасибо!

Теперь редакторы в курсе.