Мета-пакет LAMP
Аббревиатура LAMP обозначает ряд продуктов свободного программного обеспечения, используемого совместно, чтобы работать с динамическими вебстраницами или серверами:
Linux: операционная система
Apache: веб-сервер
MySQL: менеджмент банка данных или сервер банка данных
Perl, PHP и/или Python: скриптовые языки
Внимание: Компьютер, с которым ежедневно работают, не должен служить как сервер. Как сервер должен использоваться компьютер, который не исполняет никакие иные задачи.
Возможности применения как сервера:
a) локальный тестовый сервер для веб-дизайнеров без интернетa-связи (смотрите эту главу)
b) частный файловый сервер с интернет-связью
c) частный веб-сервер с обширной интернет-связью
d) коммерческий веб-сервер (не оговаривается в этом руководстве)
Минимальные требования
Минимум 256 МБ РАМ. Меньшее количество памяти вызовет проблемы, так как сервер MySQL нуждается в большом количестве памяти для соответствующей производительности. Без достаточной памяти MySQL выдает следующее сообщение об ошибке: "cannot connect to mysql.sock".
Пакет sidux: комплексный сервер
Пакет sidux комплексный сервер состоит из заранее подготовленной инсталляции через установоку мета-пакетов. Инсталлируются следующие приложения :
apache2 apache2-utils apache2-mpm-prefork php5 php5-common mysql-server mysql-common libapache2-mod-php5 php5-mysql phpmyadmin
Осторожно!
apt-get remove --purge splashy
Стартовая анимация Splashy конфликтует с mysql
Файл конфигурации для Apache находится здесь:/etc/apache2/apache2.conf, и веб-каталог здесь: /var/www
Чтобы проверить, инсталлирован ли php и правильно он работает, создается файл test.php в/var/www с функцией phpinfo () таким образом, как это здесь указано:
mcedit /var/www/test.php # test.php <? phpinfo(); ?>
Для просмотра в броузере:
http://localhost/test.php or http://yourip:80/test.php
Это показывает все конфигурации php и основные установки.
Теперь возможна как корректировка установок , так и установка виртуальных доменов с помощью конфигурации Apache.
Чтобы проверить инсталляцию, в браузере:
http://youripaddress/apache2-default/
Если инсталляция произошла успешно и правильно, выводится приветственное сообщение .
Каталогом root для apache2 является /var/www, также необходимы следующие действия:
mkdir /home/myself/www ln -s /home/myself/www /var/www
Затем можно как нормальный пользователь редактировать веб-страницу в пределах $HOME .
Клиенты FTP
SSH рекомендован (сведения в руководстве SSH, sidux совместно с Konqueror поставляет клиента FTP, который также предоставляет возможность загрузки файлов.
Активации защитных протоколов для веб-сервера
Брандмауер
Лишенный брендмауера, сервер остается совершенно незащищенным. Рекомендованным образом действий является, блокировать все, до тех пор пока это не понадобится и блокировать снова после употребления..
21 (ftp) 22 (SSH) 25 110 (email) 443 (SSL-http or https) 993 (imap ssl) 995 (pop3 ssl) 80 (http) а также каждый другой использованный порт!
Принципиальная защита данных сервера
По умолчанию сервер Apache, предоставляет клиентам неограниченный доступ (default access) ко всем файлам, к которым может найти путь посредством обычных правил отображения URL.(Это важный и зачастую упускаемый аспект!)
Например:
1. # cd /; ln -s / public_html 2. Accessing http://localhost/~root/
Это позволит клиенту осматривать всю файловую систему! Чтобы это обойти, необходимо добавить следующее к конфигурации сервера:
<Directory /> Каталог Deny,Allow Deny from all </Directory>
Это принципиально запрещает доступ к областям файловой системы. В соответствии с этим должны быть добавлены блоки <Directory> к конфигурации, которые разрешают доступ исключительно к позволенным областям Например:
<Directory /usr/users/*/public_html>
Каталог Deny,Allow
Allow from all
</Directory>
<Directory /usr/local/httpd>
Каталог Deny,Allow
Allow from all
</Directory>
Особенное внимание должно уделяться согласованности команд <Location> и <Directory>. Например, команда <Directory/> может препятствовать доступу, команда <Location/>, тем не менее, может этот запрет обойти.
Также нужно избегать экспериментов с командой UserDir; конфигурация ". / " имела бы для root тот же эффект, который демонстрировался в первом примере. Для версии Apache 1.3 или выше, мы настойчиво рекомендуем вставлять следующую строку в файле конфигурации:
UserDir disabled root
SSL
Выполнения скрипта “apache2-ssl-certificate”
# apache2-ssl-certificate
Для внесения необходимых сведений запускается следующий диалог:
Creating self-signed certificate replace it with one signed by a certification authority (CA) enter your ServerName at the Common Name prompt. If you want your certificate to expire after x days call this programm with -days x ----- Generating a 1024 bit RSA private key -------- writing new private key to '/etc/apache2/ssl/apache.pem' -------- You are about to be asked to enter information that will be incorporated into your certificate request. ----------- What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank. For some fields there will be a default value, ---------- If you enter '.', the field will be left blank.
Country Name (2 letter code) [GB]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company; recommended) []: Organizational Unit Name (eg, section) []: server name (eg. ssl.domain.tld; required!!!) []: Email Address []:
Выполнения скрипта “a2enmod ssl” i.e
# a2enmod ssl
Он автоматически производит символическую ссылку между mods-available и mods-enabled.
Затем копируют файл '/etc/apache2/sites-available/default' в папку /etc/apache2/sites-available/ и называют его 'ssl':
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Создание символической ссылки на этот новый файл конфигурации, чтобы использовать их
# ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ (или) #a2ensite ssl
Если установки базовой конфигурации изменены в /etc/apache2/apache2.conf и основная установка маршрута документа в /etc/apache2/sites-available/default, сервер Apache необходимо перезапустить.
Сервер Apache перезапускается следующей командой:
#/etc/init.d/apache2 restart
Теперь редактируются адреса портов в /etc/apache2/ports.conf. В основной установке слушается на порту 80, а так как инсталлируется с SSL , это должно изменить на порт 443.
Listen 443
/etc/apache2/sites-available/ssl (или как файл конфигурации ssl назывался) редактируется и порт 80 изменяется на 443.
В том числе 2 строки вставляются в /etc/apache2/apache2.conf :
SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem
Файл SSLCertificateFile /etc/apache2/ssl/apache.pem редактируется и вводится путь для файлов сертификата и ключей сертификата . Например:
Ex:- SSLCertificateFile /etc/apache2/ssl/online.test.net.crt
SSLCertificateKeyFile /etc/apache2/ssl/online.test.net.key
Чтобы выставить ServerSignature на off (откл.), редактируется /etc/apache2/apache2.conf и вставляются 2 строки :
ServerSignature Off ServerTokens ProductOnly
Если желаемы другие типы индексных файлов , следующая строка должна быть в файле /etc/apache2/apache2.conf
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.shtml
Перезапуск сервера Apache
/etc/init.d/apache2 restart
Теперь должен быть установлен Sandbox тестового сервера. Этот тестовый сервер НЕ должен связываться с интернетом. C этой целью должен использоваться исключительно компьютер, который должен служить как сервер!
Источники:
http://www.mysql-apache-php.com
http://httpd.apache.org/docs/1.3/misc/security_tips.html
http://www.debianhelp.co.uk/webserver.htm

Варианты пойска