Последний урок по Установка LAMP в Gentoo Linux только что описал базовый процесс установки без дополнительных настроек, доступных для Apache, чтобы лучше контролировать ваши домены.
Это руководство строго связано с предыдущим на Gentoo ЛАМПА и обсуждает дополнительные настройки для НАПОЛЬНАЯ ЛАМПА среда, такая как создание Виртуальные хосты на Apache сгенерируйте SSL Файлы сертификатов и ключи, включить безопасный SSL протокол HTTP-транзакций и использование Apache CGI шлюз так что ты можешь бежать Perl или Баш скрипты над вашим сайтом.
В этой теме используется поддельное доменное имя - gentoo.lan - включен через файл локальных хостов, при этом файлы веб-сайтов обслуживаются из /var/www/gentoo.lan – DocumentRoot директива без действительного DNS record, чтобы продемонстрировать, как можно включить несколько виртуальных хостов в Gentoo с помощью веб-сервера Apache.
1. Для начала откройте файл хостов Gentoo для редактирования и добавьте новую строку с вашим доменным именем.
$ sudo nano / etc / hosts
В конце файла сделайте так, чтобы он выглядел так.
127.0.0.1 локальный хост gentoo. 192.168.1.13 gentoo.lan
2. Проверьте свой поддельный домен с помощью пинг команда, и домен должен ответить своим IP-адресом.
$ ping -c2 gentoo.lan
3. Процесс активации виртуальных хостов Apache довольно прост. Просто откройте файл виртуальных хостов Apache по умолчанию, расположенный на /etc/apache2/vhosts.d/ path и перед последним оператором введите новое определение виртуального хоста, заключенное в директивы…. c
Содержит ваши пользовательские настройки, например Имя сервера и DocumentRoot дорожка. Используйте следующий шаблон файла в качестве руководства для нового виртуального хоста и включите его. на 00_default_vhost.conf файл (для сайтов без SSL).
$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## Статемы других виртуальных хостов, оканчивающиеся на ###Имя сервера gentoo.lan DocumentRoot "/var/www/gentoo.lan" ## Статемы других виртуальных хостов ### ## ПОСЛЕДНЕЕ ЗАЯВЛЕНИЕ, которое закрывает файл виртуальных хостов ##ServerEnvironment apache apache
Как вы можете видеть, визуализировав содержимое этого файла, файл содержит множество комментариев с пояснениями, а также сохраняет localhost Определение виртуального хоста, которое вы можете использовать в качестве руководства.
4. После завершения редактирования файла на вашем собственном виртуальном хосте перезапустите Apache, чтобы применить настройки и убедитесь, что вы создали DocumentRoot каталог на случай, если вы изменили эту директиву и путь не существует по умолчанию (в этом случае был изменен на /var/www/gentoo.lan). Я также создал небольшой файл PHP для тестирования конфигураций веб-сервера.
$ sudo mkdir /var/www/gentoo.lan. $ su "эхо 'php phpinfo (); '> /var/www/gentoo.lan/info.php " $ sudo /etc/init.d/apache2 перезапуск
5. Чтобы проверить это, откройте браузер и укажите свое виртуальное доменное имя. http://gentoo.lan/info.php.
Используя эту процедуру, вы можете добавить столько веб-сайтов без SSL, сколько захотите, используя виртуальные хосты Apache, но для Настоящая машина с выходом в Интернет, убедитесь, что у вас зарегистрированы домены и вы используете действующий DNS-сервер записи.
Чтобы удалить виртуальный хост, просто закомментируйте или удалите его директивы, указанные в … на 00_default_vhost.conf файл.
SSL - это криптографический протокол, используемый для обмена информацией по защищенному каналу связи в Интернете или внутри сетей с использованием сертификатов и симметричных / асимметричных ключей.
6. Чтобы упростить процесс создания сертификатов и ключей, используйте следующий сценарий Bash, который действует как команда и автоматически создает все, что вам нужно, с настройками вашего доменного имени SSL.
Сначала начните с создания сценария Bash с помощью следующей команды.
$ sudo nano / usr / local / bin / apache_gen_ssl
Добавьте следующее содержимое файла.
#! / bin / bash. mkdir / и т. д. / apache2 / ssl. cd / etc / apache2 / ssl. echo -e "Введите имя для этого сертификата: \ nEx: mydomain.lan" прочитать сертификат openssl genpkey -алгоритм RSA -pkeyopt rsa_keygen_bits: 2048 -out $ cert.key. chmod 600 $ сертификат. openssl req -new -key $ cert.key -out $ cert.csr. openssl x509 -req -days 365 -in $ cert.csr -signkey $ cert.key -out $ cert.crt echo -e "Сертификат $ cert создан! \ nСвяжите его с веб-сайтом Apache SSL!" ls -all / и т. д. / apache2 / ssl / выход 0
7. После создания файла добавьте к нему разрешения на выполнение и запустите его, чтобы сгенерировать ключи и сертификаты SSL.
$ sudo chmod + x / usr / local / bin / apache_gen_ssl. $ sudo apache_gen_ssl
Когда вы запустите его в первый раз, вас попросят ввести свой домен название. Введите свой домен имя, для которого вы генерируете настройки SSL и заполняете Сертификат необходимой информацией, самой важной, Распространенное имяиспользуйте полное доменное имя вашего сервера.
Расположение по умолчанию, в котором размещаются все ваши сертификаты и ключи с использованием этого метода: /etc/apache2/ssl/.
8. Пришло время создать gentoo.lan Эквивалент SSL виртуального хоста. Используйте тот же метод, что и для виртуальных хостов без SSL, но на этот раз редактируйте /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf файл с небольшими изменениями.
Сначала откройте файл для редактирования и внесите следующие изменения.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Под Слушайте 443 директиве добавить следующий контент.
ИмяVirtualHost *: 443
Используйте следующий шаблон для нового виртуального хоста и добавьте новый сертификат SSL + путь и имена ключей.
## Статемы других виртуальных хостов, оканчивающиеся на ###Имя сервера gentoo.lan DocumentRoot "/var/www/gentoo.lan" ErrorLog /var/log/apache2/gentoo.lan-ssl_error_log ## Другие операторы виртуальных хостов ###TransferLog /var/log/apache2/gentoo.lan-ssl_access_log SSLEngine на SSLCipherSuite ALL:! ADH:! EXPORT56: RC4 + RSA: + HIGH: + MEDIUM: + LOW: + SSLv2: + EXP: + eNULL ## Редактировать с новым сгенерированным сертификатом SSL и ключ и измените путь на / etc / apache2 / ssl / SSLCertificateFile /etc/apache2/ssl/gentoo.lan.crt SSLCertificateKeyFile /etc/apache2/ssl/gentoo.lan.key Параметры Индексы FollowSymLinks ExecCGI MultiViews Включает AllowOverride Все Заказать разрешить, запретить Разрешить от всехSSLOptions + StdEnvVars SSLOptions + StdEnvVarsBrowserMatch ". * MSIE. *" \ Nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog / var / log / apache2 / ssl_request_log \ "% t% h% {SSL_PROTOCOL} x% {SSL_CIPHER} x \"% r \ "% b"
Определения виртуальных хостов должны заканчиваться перед этими последними тремя операторами.
9. После завершения редактирования файла виртуального хоста перезапустите службу Apache и направьте свой браузер в свой домен по протоколу HTTPS. https://gentoo.lan.
$ sudo /etc/init.d/apache2 перезапуск
Используя эту процедуру, вы можете добавлять веб-сайты SSL с их собственными сертификатами и ключами с помощью виртуальных хостов Apache. Чтобы удалить виртуальные хосты SSL, закомментируйте или удалите его директивы, указанные в … на /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf файл.
В CGI (Общий интерфейс шлюза) он позволяет Apache взаимодействовать с внешними программами, в основном состоящими из сценариев Perl или BASH, которые могут добавлять динамический контент на ваш сайт.
10. Перед включением шлюза CGI убедитесь, что Apache был скомпилирован с ИСПОЛЬЗУЙТЕ CGI поддержка модулей flags в Portage make.conf файл: cgi cgid. Чтобы включить поддержку GCI для Apache, откройте /etc/conf.d/apache2 файл и добавить модуль CGI на APACHE2_OPTS линия.
$ sudo nano /etc/conf.d/apache2
Убедитесь, что эта строка имеет похожее содержание.
APACHE2_OPTS = "- D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
11. После включения модулей CGI откройте хост определения веб-сайта, на котором вы хотите включить интерфейс CGI, и добавьте следующий контент в директивы виртуального хоста.
Параметры Индексы + ExecCGI MultiViews AddHandler cgi-скрипт .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl AllowOverride Все Разрешить, запретить Разрешить всем.
12. Если у вас есть каталог внутри вашего DocumentRoot (/var/www/gentoo.lan/), который содержит сценарии CGI, вы можете включить только этот каталог для обслуживания динамических сценариев Perl или Bash.
ScriptAlias / cgi-bin / /var/www/gentoo.lan/cgi-bin/ Параметры + ExecCGI. AddHandler cgi-скрипт .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl.
13. Для SSI (включая серверную часть) добавить + Включает заявление о Опции и добавить .shtml расширение файла.
Индексы опций + ExecCGI + Включает cgi-скрипт AddHandler .cgi .pl AddType text / html .shtml. AddOutputFilter ВКЛЮЧАЕТ .shtml DirectoryIndex index.shtml index.cgi index.pl index.php index.html AllowOverride All Order разрешить, запретить Allow from all.
14. Чтобы проверить несколько простых .cgi и .pl сценарии на шлюзе Apache CGI создают следующие сценарии внутри вашего виртуального хоста DocumentRoot (/var/www/gentoo.lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Добавьте следующее содержимое Perl.
#! / usr / bin / perl. print "Content-type: text / html \ n \ n"; foreach мои $ keys (ключи сортировки% ENV) {print "$ keys = $ ENV {$ keys}
\ п "; }
$ sudo nano /var/www/gentoo.lan/run.cgi
Добавьте следующий контент Bash.
#! / bin / bash. echo "Content-type: text / html" эхо "" эхо "" ./env.pl эхо ""
15. После создания файлов сделайте их исполняемыми, перезапустите демон Apache и укажите в браузере следующие URL-адреса.
$ sudo chmod + x /var/www/gentoo.lan/run.cgi. $ sudo chmod + x /var/www/gentoo.lan/env.pl. $ sudo /etc/init.d/apache2 перезапуск
https://gentoo.lan/run.cgi ИЛИ https://gentoo.lan/env.pl
Теперь вы можете превратить Gentoo в мощную платформу веб-хостинга с точными настройками производительности вашей системы и максимальным контролем над всей вашей средой.