Создание Web-сервера (Apache, Mysql, PHP) под Slackware Linux
linux web mysql php install apache slackware Minkevich Vladislav
🕛 20.09.2006, 11:13
В этой статье описана установка веб-сервера. Установка производится наLinux Slackware 10.2.
На момент написания статьи были использованный последние версии, а именно: Apache - 2.0.58 MySQL - 5.0.22 PHP - 5.1.4
Так же, вы всегда сможете закачать "свежие" версии софта с сайтов: http://www.apache.org http://www.php.net http://www.mysql.com
Начнём с того, что закачаем всё программное обеспечение:
#wget http://mirrors.ccs.neu.edu/Apache/dist/httpd/httpd-2.0.58.tar.bz2 #wget http://mysql.dn.ru/Downloads/MySQL-5.0/mysql-5.0.22.tar.gz #wget http://ru.php.net/get/php-5.1.4.tar.bz2/from/this/mirror
Установка Apache:
Разархивируем архив:
#tar -xjvf httpd-2.0.58.tar.bz2
Далее заходим в директорию, которую мы только что распаковали:
#cd httpd-2.0.58/
Начинаем установку:
#./configure -prefix=/usr/local/httpd (-prefix=/user/local/httpd - описывает путь установки) #make #make install
Далее мы должны перейти в директорию /usr/local/httpd/conf и
отредактировать файл httpd.conf:
#cd /usr/local/httpd/conf/ #nano httpd.conf
Находим и изменяем строки в конфигурационном файле:
ServerAdmin eliziym@example.com (вместо eliziym@example.com должен быть ваш почтовый ящик) ServerName www.example.com:80 (www.example.com:80 - здесь вы должны указать адрес сервера и через двоеточие порт)
Находим строки:
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
И меняем их на:
<Directory /> Options None AllowOverride None </Directory>
Находим:
<Directory "usr/local/httpd/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Меняем на:
<Directory "/usr/local/httpd/htdocs"> Options None AllowOverride None Order allow,deny Allow from all </Directory>
Далее скрываем информацию о версии Apache и немного защищаем его. Для
этого редактируем в конфигурационном файле следующие записи:
ServerTokens Prod ServerSignature Off User nobody Group nobody Timeout 45 UserDir disable
Выставляем нужные права доступа:
#cd /usr/local/httpd/ #chown root . bin conf logs #chgrp root . bin conf logs #chmod 755 . bin conf logs #chown root /usr/local/httpd /bin/httpd #chgrp root /usr/local/httpd/bin/httpd #chmod 511 /usr/local/httpd/bin/httpd
Установка MySQL:
Нужно добавить новую группу и пользователя в систему прежде чем начинать
установку:
#groupadd mysql #useradd -g mysql mysql
Разархивируем архив и переходим в полученную директорию:
#tar -zxvf mysql-5.0.22.tar.gz #cd mysql-5.0.22/
Далее приступаем к конфигурированию и установке:
#./configure -prefix=/usr/local/mysql (-prefix=/user/local/mysql - описывает путь установки) #make #make install
Копируем конфигурационный файл:
#cp support-files/my-medium.cnf /etc/my.cnf
Переходим в директорию /usr/loca/mysql и выполняем там установку
административных таблиц:
#cd /usr/local/mysql #bin/mysql_install_db -user=mysql
Выставляем нужные права доступа:
#chown -R root . #chown -R mysql var #chgrp -R mysql .
Затем нам нужно будет запустить сервер, подключиться к нему и изменить
пароль:
#/usr/local/mysql/bin/mysqld_safe & #/usr/local/mysql/bin/mysql -u root
mysql> use mysql; mysql> set password for 'root'@'localhost' = password('passwd'); mysql> flush privileges; mysql> \q
Вместо слова passwd напишите свой пароль.
На этом установка MySQL сервера окончена.
Установка PHP:
Разархивируем архив:
#tar -xjvf php-5.1.4.tar.bz2
Переходим в полученную директорию:
#cd php-5.1.4/
Приступаем к конфигурированию и установке:
#./configure -with-apxs2=/usr/local/httpd/bin/apxs -with-mysql=/usr/local/mysql #make #make install
Скопируем конфигурационный файл:
#cp php.ini-recommended /usr/local/lib/php.ini
Теперь откроем отредактируем немного конфигурационный файл Apache:
#nano /usr/local/httpd/conf/httpd.conf
Добавляем в начало файла строку:
AddType application/x-httpd-php .php AddType application/x-httpd-php .phtml AddType application/x-httpd-php-source .phps
Ищем строку "DirectoryIndex", в её конец добавлем значение index.php.
Строка DirectoryIndex должна теперь выглядить так:
DirectoryIndex index.html index.html.var index.php
На этом установка всего программного обеспечения завершена. Осталось запустить, если у вас не запущен Apache или перезагрузить его, для вступления в силу новый параметров которые мы внесли в конфигурационный файл.
#/usr/local/httpd/bin/apachectl start - для запуска сервера #/usr/local/httpd/bin/apachectl restart - для перезагрузки сервера
Всё!!!
Нужно проверить работоспособность всего установленого. Для этого мы
напишем скрипт на PHP:
#cd /usr/local/httpd/htdocs/ #nano mysql.php <? $dblocation="127.0.0.1";
$dbuser="root";
$dbpasswd="passwd";
$dbcnx=mysql_connect($dblocation, $dbuser, $dbpasswd);
if(!$dbcnx) { echo("Не удалось подключиться к базе данных");
exit(); }
$dbq=mysql_query("select version();");
echo(mysql_result($dbq,0)); ?>
В переменной "$dbpasswd" замените параметр "passwd" на пароль от вашей
базы данных(MySQL).
Теперь открываем любой браузер и переходим по ссылке http://127.0.0.1/mysql.php :
#lynx http://127.0.0.1/mysql.php
На этом установка, настройка и тестирование веб-сервера окончена.
Дополнение.
Virtual Host
Если вы хотите настроить виртуальные хосты, то вам нужно будет
использовать директивы <NameVirtualHost> и <VirtualHost>.
Предположим, что в строке ServerName конфигурационного файла Apache мы
указали www.example.com:80. Нам нужно настроить виртуальный хост
forum.example.com и user.example.com Для этого открываем
конфигурационный файл и добавляем в его конец строки:
<NameVirtualHost 192.168.0.66> <VirtualHost 192.168.0.66> ServerName forum.example.com ServerAdmin eliziym@example.com DocumentRoot /usr/local/httpd/htdocs/forum </VirtualHost>
<VirtualHost 192.168.0.66> ServerName user.example.com ServerAdmin eliziym@example.com DocumentRoot /usr/local/httpd/htdocs/user </VirtualHost>
Здесь вместо ip адреса 192.168.0.66 - вы должны указать свой ip адрес,
если у вас их несколько, то просто поставьте вместо ip - *
В строке DocumentRoot вы должны указать директорию, в которой будут
храниться файлы принадлежащие этому виртуальному хосту. Предположим,
если у вас форум, то файлы форума вы должы поместить в директорию
/usr/local/httpd/htdocs/forum
После всех манипуляций мы должны перезагрузить сервер. Не забудьте
добавить нужные для ДНС сервера записи.
secnull.org
Copyright © 2006 Minkevich Vladislav (Eliziym)