Туториал Настройка веб-сервера на VDS

wailorman

Активный участник
Пользователь
Баллы
93
Имя в Minecraft
wailorman
Народ наплодил множество туторов по настройке VDS под сервер Bukkit, но такого же обилия туториалов по настройке VDS под веб-сервер я не нашел, поэтому решил сэкономить много денег владельцам серверов. Инструкцию пишу для Debian или Ubuntu.

Для начала установим все необходимые пакеты для веб-сервера, выполнив эту строку от имени root.
Код:
apt-get update ; apt-get install apache2 php5 php5-mysql php5-sqlite php5-gd libapache2-mod-php5 mysql-server mysql-client zip sqlite nano php5-mcrypt proftpd
При установке он спросит пароль root MySQL, который вы должны придумать и тип работы proftpd. На второй вопрос отвечаем standalone.
Возможно, может так получится, что не будет работать root пользователь в MySQL. Решаем эту проблему так:​
cat /etc/mysql/debian.cnf​
Копируем пароль простым его выделением (если у Вас Putty), открываем MySQL консоль пользователя debian-sys-maint​
Код:
mysql -u debian-sys-maint -pПАРОЛЬ
mysql> DROP USER root@localhost; CREATE USER 'root'@'localhost' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; GRANT RELOAD,PROCESS ON *.* TO 'root'@'localhost';
Не забываем заменить some_pass на желаемый пароль MySQL.​
Жмем Ctrl+D и рестартим сервер MySQL​
service mysql restart​
Напрямую ставим phpMyAdmin
Код:
cd /var/www ; wget http://dl.dropbox.com/u/13248852/rwm/myadmin.zip ; unzip myadmin.zip ; mv phpMyAdmin-3.5.5-all-languages myadmin ; rm myadmin.zip

Теперь настраиваем apache и FTP. Допустим, у нас есть домен awesome.ru. Создаем пользователя, который будет владеть этим сайтом
adduser awesome​
На все вопросы, кроме пароля, в ответ просто жмем Enter
Настраиваем конфиг ProFTPd
Код:
wget http://dl.dropbox.com/u/13248852/rwm/proftpd.conf -O /etc/proftpd/proftpd.conf
Перезапускаем ProFTPd
service proftpd restart​
И пробуем подключиться к своему серверу под логином awesome и его паролем.
Создадим директории под сайты
mkdir /home/awesome/www/awesome.ru​
И подключаем туда сайт.
Код:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/awesome.ru
Не забываем поменять в этом файле все /var/www на /home/awesome/www/awesome.ru и перед DocumentRoot добавляем
ServerName awesome.ru​
Должно получиться примерно так:
Код:
ServerName  awesome.ru
DocumentRoot  /home/awesome/www/awesome.ru/
Включаем сайт в apache
a2ensite awesome.ru​
И полностью перезагружаем apache
service apache2 reload ​
service apache2 restart​
​
​
Как разрешить удаленные подключения к MySQL​
Допустим, у нас есть база данных под именем testdb. Для нее мы должны создать пользователя, которому будут разрешены подключения с любых IP-адресов. Назовем этого пользователя по имени БД с паролем qwerty. Заходим в консоль MySQL root​
Код:
mysql -u root -pПАРОЛЬ
mysql> CREATE USER 'testdb'@'%' IDENTIFIED BY 'qwerty';
mysql> GRANT CREATE,INSERT,SELECT,DELETE,UPDATE ON testdb.* TO 'testdb'@'%' IDENTIFIED BY 'qwerty' WITH GRANT OPTION;
Жмем Ctrl+D и рестартим MySQL
service mysql restart
​
 
Как разрешить удаленные подключения к MySQL (дополнение):​

Если после указанных пунктов нас выбрасывают с подобным сообщение:
2003 - Can't connect to MySQL server on '~ip~'
то:
Открываем конфиг мускула, обычно вот так:
Код:
nano /etc/mysql/my.cnf
и ищем строку:

Код:
bind-address        = ~здесь какой то IP~
Комментируем ее и сохраняем, далее рестарт:
Код:
/etc/init.d/mysql restart
 
или так:
 
service mysql restart
 
Зачем тут этот ненужный копипаст, какого в рунете сотни тысяч? Если бы рассказал как НАСТРОИТЬ веб-сервер, например, для использования меньшего кол-ва физических ресурсов сервера, а не поставить из стандартных репов 3 с половиной пакета двумя командами из под рута, то был бы ценный пост, а ЭТО можно удалить.

И да, если у вас на сервере стоит апач, то удалите его прямо сейчас. (с)
 
Зачем тут этот ненужный копипаст, какого в рунете сотни тысяч? Если бы рассказал как НАСТРОИТЬ веб-сервер, например, для использования меньшего кол-ва физических ресурсов сервера, а не поставить из стандартных репов 3 с половиной пакета двумя командами из под рута, то был бы ценный пост, а ЭТО можно удалить.

И да, если у вас на сервере стоит апач, то удалите его прямо сейчас. (с)
Я не понимаю этот бред...
:fp:
Почему надо удалять apache? Где обоснования ?
"Ненужный" для тебя, для остальных он может даже очень нужным.
Если не понимаешь не пиши, то что сейчас ты написал полный бред...
 
Я не понимаю этот бред...
Если не понимаешь не пиши, то что сейчас ты написал полный бред...
Ясно.
Почему надо удалять apache? Где обоснования ?
Друг, изучи сначала принципы работы Apache и высокопроизводительного, кэширующего статику в раме, Nginx, например. Думаю, дальнейших вопросов у тебя не будет.
 
В рунете может быть написано все что угодно, год назад писали что конец света будет однако этого не случилось.

Не нужно верить всему, что пишут. Если вы проводили "тесты" apache на Windows машине, то я понимаю ваше мнение, но на Linux'e совсем другое.
Пользуюсь им уже 1 год, ни разу больше 256 Мб не съел.
Nginx + FastCGI будет уже совсем другое. Кому как нравится лично я пользуюсь Nginx + Apache и меня все устраивает.
 
Апач плохо обрабатывает статику ,но php хорошо ,по этому вполне сойдёт и Nginx+apache
 
Как разрешить удаленные подключения к MySQL (дополнение):​

Если после указанных пунктов нас выбрасывают с подобным сообщение:

то:
Открываем конфиг мускула, обычно вот так:
Код:
nano /etc/mysql/my.cnf
и ищем строку:

Код:
bind-address        = ~здесь какой то IP~
Комментируем ее и сохраняем, далее рестарт:
Код:
/etc/init.d/mysql restart
 
или так:
 
service mysql restart
Спасибо. Там еще можно закоментить эту строку. Тоже все работать должно

Зачем тут этот ненужный копипаст, какого в рунете сотни тысяч? Если бы рассказал как НАСТРОИТЬ веб-сервер, например, для использования меньшего кол-ва физических ресурсов сервера, а не поставить из стандартных репов 3 с половиной пакета двумя командами из под рута, то был бы ценный пост, а ЭТО можно удалить.

И да, если у вас на сервере стоит апач, то удалите его прямо сейчас. (с)
Я не думаю, что здесь много людей, которые в этом нуждаются. За такими статьями можно сходить в гугл. Также как и за этой. Я написал ее только потому, что хотел помочь людям, которые далеки от nginx. Которым нужен просто работающий без бубна сайт

Если написал все не правильно - поправьте или напишите так, как должно быть. Как вы считаете нужным
 
Ладно, с этой фигней разобрался. Вот ещё одна появилась.
Я не могу импортировать файл базы данных! Лимит я изменил на 500 Мб, файл весит 30 кб, и все ровно пишет - "Операция импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. Смотрите FAQ 1.16.". Пожалуйста помогите.
 
Ладно, с этой фигней разобрался. Вот ещё одна появилась.
Я не могу импортировать файл базы данных! Лимит я изменил на 500 Мб, файл весит 30 кб, и все ровно пишет - "Операция импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. Смотрите FAQ 1.16.". Пожалуйста помогите.
В php.ini менял лимит?
 
Здравствуйте, у меня при привязки сайта к VDS выдает следующую ошибку: "
apache2: Syntax error on line 230 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/sites-enabled/awesome.ru: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
failed! ".
 
Здравствуйте, у меня при привязки сайта к VDS выдает следующую ошибку: "
apache2: Syntax error on line 230 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/sites-enabled/awesome.ru: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
failed! ".
Скинь 230 строку apache2.conf
 
Назад
Верх