aptitude update && aptitude upgrade
aptitude install apache2 php5 php5-mysql mysql-server proftpd
mkdir /var/www/maintest
mkdir /var/www/secondtest
touch /var/log/apache2/maintest-error.log
touch /var/log/apache2/secondtest-error.log
cd /etc/apache2/sites-available
touch maintest
touch secondtest
<VirtualHost *:80>
ServerName maintest
DocumentRoot /var/www/maintest
ErrorLog /var/log/apache2/maintest-error.log
</VirtualHost>
a2ensite maintest
a2ensite secondtest
a2dissite default
Утилита a2ensite(apache2 enable site) активирует сайт, добавляя на него симлинк в папку /etc/apache2/sites-enabled, а утилита a2dissite(apache2 disable site) как вы уже догадались дективирует сайт. Кстати, если вам не нужны стандартные конфиги, вы можете их удалить командой:
rm /etc/apache2/sites-available/default* -R
1
rm /etc/apache2/sites-available/default* -R
Необходимо перезапустить apache2:
/etc/init.d/apache2 restart
1
/etc/init.d/apache2 restart
Теперь изменим файл hosts на рабочей машине. В windows он лежит в папке C:WindowsSystem32driversetc, а в linux – /etc/. У меня в результате на windows машине получился такой файл:
192.168.1.102 maintest 192.168.1.102 secondtest
1
2
192.168.1.102 maintest
192.168.1.102 secondtest
После перезагрузки проверим как все работает, и как себя чувствует php. Для этого создадим два файла, один в /var/www/maintest/, а другой в /var/www/secondtest/. Оба назовем index.php:
touch /var/www/maintest/index.php touch /var/www/secondtest/index.php
1
2
touch /var/www/maintest/index.php
touch /var/www/secondtest/index.php
Заполним каждый следующими строчками:
<?php print_r (phpinfo()); ?>
1
2
3
<?php
print_r (phpinfo());
?>
Потом попробуйте с вашей рабочей машины зайти на maintest или secondtest. Вы должны увидеть следующее: Если видите – значит все работает. Осталось настроить proftpd. Для использования ftp-сервера нам понадобится создать еще одного пользователя с ограниченными правами. Перед этим нужно открыть файл /etc/shells и добавить в конец строчку /bin/false. Пользователя создаем командой:
useradd ftpuser -p ftppass -d /var/www -s /bin/false
1
useradd ftpuser -p ftppass -d /var/www -s /bin/false
Где ftpuser – имя пользователя(можете выбрать свое), ftppass – пароль(выберете свой), /var/www – домашняя директория. Теперь можно приступить к редактированию конфига proftpd. Сделаем бекап стандартной конфигурации:
mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
1
mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf_backup
Теперь создаем новый конфиг и открываем его для редактирования вашим редактором. Если вы используете nano, тогда это можно сделать одной командой:
nano /etc/proftpd/proftpd.conf
1
nano /etc/proftpd/proftpd.conf
У меня получился следующий конфиг:
#Разрешение на перезапись Allowoverwrite on #Авторизация только по алиасам пользователя AuthAliasOnly on #Алиас для пользователя UserAlias admin ftpuser #Имя сервера ServerName “server-lamp-debian” #Тип сервера ServerType standalone #Пользователь и группа под которыми будет запущен сервер User nobody Group nogroup #Задержка привествия DeferWelcome on #Использование по умолчанию DefaultServer on #Логин из под рута RootLogin off #Файлы логов ExtendedLog /var/log/proftpd/ftp.log TransferLog /var/log/proftpd/xfer.log SystemLog /var/log/proftpd/system.log #Использования файла /etc/ftpusers UseFtpUsers off #Разрешить перезагрузку хранилища AllowStoreRestart on #Порт Port 21 #Дефолтная папка DefaultRoot /var/www/ #Запрещаем выход за пределы домашней папки DefaultRoot ~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#Разрешение на перезапись
Allowoverwrite on
#Авторизация только по алиасам пользователя
AuthAliasOnly on
#Алиас для пользователя
UserAlias admin ftpuser
#Имя сервера
ServerName “server-lamp-debian”
#Тип сервера
ServerType standalone
#Пользователь и группа под которыми будет запущен сервер
User nobody
Group nogroup
#Задержка привествия
DeferWelcome on
#Использование по умолчанию
DefaultServer on
#Логин из под рута
RootLogin off
#Файлы логов
ExtendedLog /var/log/proftpd/ftp.log
TransferLog /var/log/proftpd/xfer.log
SystemLog /var/log/proftpd/system.log
#Использования файла /etc/ftpusers
UseFtpUsers off
#Разрешить перезагрузку хранилища
AllowStoreRestart on
#Порт
Port 21
#Дефолтная папка
DefaultRoot /var/www/
#Запрещаем выход за пределы домашней папки
DefaultRoot ~
В принципе ничего сложного. Осталось перезапустить proftpd командой:
/etc/init.d/proftpd restart
1
/etc/init.d/proftpd restart
А так же не забудьте назначить права для папки /var/www/:
chmod 777 /var/www/ -R
1
chmod 777 /var/www/ -R
Все должно работать. Для проверки используйте любой файловый менеджер поддерживающий ftp или ftp клиент. Просто перейдите по ftp://maintest.
Для удобства работы с базой данный вы можете установить phpmyadmin:
aptitude install phpmyadmin
1
aptitude install phpmyadmin
Или использовать какой-нибудь SQL-клиент. Тогда нужно будет добавить в базу данных нового пользователя или существующего и разрешить ему соединение с внешней сети. Например следующая команда создаст нового пользователя с логином user и паролем password, разрешит ему все операции для всех баз данных, а так же соединение с любого хоста:
GRANT ALL PRIVILEGES ON *.* TO user@”%” IDENTIFIED BY ‘password’ WITH GRANT OPTION;
1
2
GRANT ALL PRIVILEGES ON *.* TO user@”%”
IDENTIFIED BY ‘password’ WITH GRANT OPTION;
Подробнее можете почитать здесь. Кроме того понадобится отредактировать конфиг /etc/mysql/my.cnf, закоментировав строчку bind-address 127.0.0.1.
Удачной настройки. Задавайте свои ответы.