Поиск по сайту:

Установка LAMP (Linux, Apache, MySQL, PHP и PhpMyAdmin) в Gentoo Linux


Максимальная производительность, достигаемая за счет компиляции программного обеспечения из исходных кодов с помощью Gentoo, оказывает минимальное влияние, если мы возьмем за основу сегодняшнюю аппаратную обработку данных. Тогда какова цель использования Gentoo в качестве платформы веб-сервера, спросите вы? Что ж, самым важным свойством Gentoo является его чрезвычайная гибкость, которую Portage может обеспечить при выполнении конкретных задач, и полный контроль, который конечный пользователь может получить над всей системой, благодаря тому, что Gentoo скомпилирован и собирается из исходников и не использует предварительно упакованные двоичные файлы, как большинство дистрибутивов Linux.

В этом руководстве представлена пошаговая процедура установки знаменитого стека LAMP (Linux, Apache, MySQL и PHP/PhpMyAdmin) с использованием минимальной среды установки Gentoo.

Требования

  1. Минимальная среда Gentoo Linux установлена, как описано в этом руководстве (Установка Gentoo Linux).

Шаг 1. Настройте статический IP-адрес

1. Прежде чем мы приступим к установке стека LAMP, в системе необходимо настроить статический IP-адрес, что является обязательным в случае сервера. Но прежде чем мы начнем настраивать статические параметры сети, используйте команду ifconfig, чтобы отобразить имена сетевых карт.

ifconfig -a

Как вы можете видеть, имя сетевой карты может отличаться от других распространенных имен, используемых в Linux, таких как ethX, ensXX или других, поэтому запишите это имя для дальнейших настроек.

2. Если вы ранее использовали DHCP-сервер в своей сети, обязательно отключите DHCP-клиент в своей системе, используя следующие команды. (замените IP и устройства на свои настройки).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. Затем создайте символическую ссылку с сетевого устройства обратной связи с именем подключенного интерфейса вашего сетевого адаптера и создайте статический файл конфигурации для этого устройства в /etc/conf.d/ путь.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

Отредактируйте этот файл устройства, указав следующие конфигурации.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. После завершения редактирования статических конфигураций сетевого адаптера запустите сетевой интерфейс и проверьте сетевые настройки и соединение с помощью команд ifconfig и ping и убедитесь, что все настроено успешно. добавьте его в процесс запуска.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

Если вы хотите, чтобы DNS-серверы имен настраивались для всей системы, отредактируйте файл /etc/resolv.conf и добавьте строку DNS-сервера для каждого IP-адреса DNS.

Шаг 2: Установите ЛАМПУ

5. После завершения настройки сети приступайте к установке стека LAMP, но не раньше, чем вы проверите профили Gentoo и обновите дерево и систему Portage.

Для сервера с выходом в Интернет и исправлениями безопасности вам, вероятно, захочется использовать профиль Hardened, который изменяет настройки пакета для всей вашей системы (маски, USE-флаги и т. д.). Используйте следующие команды для просмотра и изменения вашего профиля.

sudo eselect profile list
sudo eselect profile set 11

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

sudo emerge --sync
sudo emerge --update @world

7. Теперь пришло время приступить к установке LAMP. Проверьте документацию веб-сервера Apache на наличие USE-флагов с помощью командного переключателя emerge –pv, затем отредактируйте файл make.conf Portage, указав необходимые USE-флаги, прежде чем пытаться это сделать. установите его.

emerge -pv apache
nano /etc/portage/make.conf

8. Выберите USE-флаги для процесса компиляции (вы можете оставить все как есть, если вашему серверу не требуются определенные модули), затем установите Apache с помощью следующей команды.

emerge --ask www-servers/apache

9. Перед запуском службы Apache выполните следующую команду, чтобы избежать ошибки ServerName, а затем запустите демон httpd.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. На следующем шаге установите динамический язык сценариев PHP. Из-за большого количества модулей PHP в этом руководстве вам будет представлен большой список модулей, используемых в качестве USE-флагов, но вам следует придерживаться тех, которые требуются для конфигурации вашего сервера.

Сначала получите специальные флаги USE для PHP, используя команду ниже.

emerge -pv php

11. Затем отредактируйте файл /etc/portage/make.conf и используйте следующие флаги USE для PHP5.5 (USE-флаги должны быть в одной строке).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Другой метод, который вы можете использовать, — это использовать USE-флаги для включения нужных модулей и опций PHP в файл /etc/portage/package.use.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. После того, как вы выбрали необходимые USE-флаги одним из двух представленных методов, установите PHP с помощью следующей команды.

emerge --ask dev-lang/php

13. Процесс появления PHP может занять некоторое время в зависимости от ресурсов вашей системы. После его завершения сообщите Apache, чтобы он использовал модули PHP, отредактировав файл /etc/conf.d/apache2 и добавьте PHP5 в директиву APACHE2_OPTS.

nano /etc/conf.d/apache2

Сделайте строку APACHE2_OPTS такой.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Чтобы получить список установленных модулей, используйте следующую команду.

ls -al /etc/apache2/modules.d/

14. Чтобы протестировать конфигурацию сервера, создайте файл phpinfo в корневом каталоге локального хоста (/var/www/localhost/htdocs/) и перезапустите службу Apache, затем укажите в браузере адрес http://localhost/info.php или http://system_IP/info.php.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

Если вы получите тот же результат, что и на изображении выше, значит ваш сервер настроен правильно. Итак, мы можем продолжить установку базы данных MySQL и PhpMyAdmin.

15. Перед установкой базы данных MySQL проверьте пакет USE flags и при необходимости отредактируйте make.conf Portage. Используйте следующие команды для проверки и установки базы данных MySQL-сервера.

emerge -pv mysql
emerge --ask dev-db/mysql

16. Прежде чем запустить сервер MySQL, убедитесь, что база данных MySQL установлена в вашей системе, используя следующую команду.

/usr/bin/mysql_install_db

17. Теперь запустите базу данных MySQL и защитите ее с помощью mysql_secure_installation, изменив пароль root, отключив вход в систему root за пределами локального хоста, удалив анонимного пользователя и протестировав базу данных.

service mysql start
mysql_secure_installation

18. Чтобы проверить функциональность базы данных, войдите в MySQL, выполнив приведенную ниже команду, и выйдите из базы данных с помощью инструкции выхода.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Если вам нужен графический интерфейс для управления сервером MySQL, установите пакет PhpMyAdmin, выполнив следующие команды.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. После компиляции и установки пакета создайте файл конфигурации для PhpMyAdmin, скопировав его файл шаблона и заменив парольную фразу blowfish_secret произвольной строкой.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Проверьте процесс входа в PhpMyAdmin, открыв браузер и используя следующий URL-адрес.

http://localhost/phpmyadmin

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

rc-update -v add apache2 default
rc-update -v add mysql default

Вот и все! Теперь у вас есть динамическая веб-среда с Apache, языком сценариев PHP и реляционной базой данных MySQL на гибкой и настраиваемой серверной платформе, предоставляемой Gentoo.