Настройка VPS сервера для дальнейшей работы с LiveStreet
Здравствуйте! Необходимо было перейти на выделенный сервер, где будет работать сайт на livestreet, ибо обычный хостинг не справлялся с нагрузкой. Настраивал сервер впервые, много нового узнал :)
Второе — изменил dns записи у своего регистратора на Оверсановские.
Третье — создание сервера, выбор ос (решил выбрать ubuntu 10.04) и т.д.
Для начала заходим по ssh на свой сервер, через консоль:
Далее разрешаем сертификат и вводим пароль.
Если появляется ошибка
Скорее всего проблема в том что ключи ssh поменялись и поэтому в целях безопасности система не дает доступа.
Решается следующим образом:
Заходим в домашнюю директорию пользователя от которого сидите и удаляете файл .ssh/known_hosts
Сделать это к примеру можно так:
Перед нами голая система, из которой следует создать полноценный веб сервер.
Поехали!
обновим информацию о пакетах, и обновим систему
Установка apache2 + phph5 + mysql + phpmyadmin одной строкой
Настраиваем виртуальные хосты для работы нескольких сайтов на одном ip адресе:
По умолчанию, Apache прослушивает все IP-адреса, доступные виртуальному серверу. Мы должны настроить его на прослушивание только адреса, который мы укажем. Даже если у вас есть только один IP адрес, не стоит пренебрегать этой процедурой.
Начните с изменения параметра NameVirtualHost entry в файле /etc/apache2/ports.conf:
Редактируем файл /etc/apache2/ports.conf
Редактируем файл /etc/apache2/sites-available/default
Редактируем файл /etc/apache2/sites-available/site1.ru
Редактируем файл /etc/apache2/sites-available/site2.ru
Перед тем, как мы станем использовать созданную конфигурацию, необходимо создать указанные в ней каталоги. Для этого выполним следующие команды:
После того как вы настроили виртуальные хосты, выполните следующие команды:
Перезапускаем сервисы:
Если необходима будет работа с phpmyadmin, то в /etc/apache2/apache2.conf нужно добавить строчку:
1. Через SSH заходим в папку /etc/apache2/mods-enabled
2. Cоздаём символьную ссылку:
3. Переходим в /var/www/site.ru/
4. Создаем файл ./htaccess со следующим содержанием:
5. Переходим в /etc/apache2/sites-available и редактируем default:
поменять в <Directory /> и <Directory /var/www/> AllowOverride All вместо None.
Права на запись:
Загружаем файлы livestreet в нужную папку вашего сайта и далее зайти по sftp (например через FileZilla) или через ssh, кому как удобнее. Я заходил через FileZilla и выдал папкам права 777.
Обязательно: нужно выдать права 777 не только самим папкам, но и ко всем подпапкам.
И так выполняем для следующих папок:
/tmp,
/logs,
/uploads,
/templates/compiled,
/templates/cache,
/plugins,
Нужно переименовать файл /config/config.local.php.dist на config.local.php и дать этому файлу права 777.
Далее производим установку по адресу site.ru/install.
Все работает!
Теперь хочется узнать у знатоков: что можно сделать с сервером еще, что бы ускорить работу сайта и что бы сервер не нагружался без надобности.
Вводная информация:
Первое с чем мне пришлось столкнуться, так это с выбором размещения сервера. Были варианты зарубежные и отечественные, но т.к мне необходима поддержка на родном языке — решено было выбирать только из русских. Больше всего мне советовали Оверсан. У них кстати отличная поддержка, ребята быстро реагируют.Второе — изменил dns записи у своего регистратора на Оверсановские.
Третье — создание сервера, выбор ос (решил выбрать ubuntu 10.04) и т.д.
Настройка веб сервера Ubuntu
Имеется сервер с установленной операционной системой Ubuntu 10.04. Начинаем настраивать:Для начала заходим по ssh на свой сервер, через консоль:
sudo ssh root@ваш_ip_сервера
Далее разрешаем сертификат и вводим пароль.
Если появляется ошибка
Скорее всего проблема в том что ключи ssh поменялись и поэтому в целях безопасности система не дает доступа.
Решается следующим образом:
Заходим в домашнюю директорию пользователя от которого сидите и удаляете файл .ssh/known_hosts
Сделать это к примеру можно так:
cd ~
rm .ssh/known_hosts
Перед нами голая система, из которой следует создать полноценный веб сервер.
Поехали!
обновим информацию о пакетах, и обновим систему
aptitude update
aptitude upgrade
Установка apache2 + phph5 + mysql + phpmyadmin одной строкой
aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin
Настраиваем виртуальные хосты для работы нескольких сайтов на одном ip адресе:
По умолчанию, Apache прослушивает все IP-адреса, доступные виртуальному серверу. Мы должны настроить его на прослушивание только адреса, который мы укажем. Даже если у вас есть только один IP адрес, не стоит пренебрегать этой процедурой.
Начните с изменения параметра NameVirtualHost entry в файле /etc/apache2/ports.conf:
Редактируем файл /etc/apache2/ports.conf
NameVirtualHost 188.127.241.217:80
Замените 188.127.241.217 на IP адрес вашего виртуального сервера.Теперь, изменим VirtualHost сайта по умолчанию в файле /etc/apache2/sites-available/default, запись должна выглядеть так:
Редактируем файл /etc/apache2/sites-available/default
<VirtualHost 188.127.241.217:80>
Настройка виртуальных хостов
Для каждого домена необходимо создать конфигурационный файл в каталоге /etc/apache2/sites-available/. Название каждого конфигурационного файла для домена должно быть аналогичным самому домену. для примера, создадим конфигурационные файлы для доменов «site1.ru» и «site2.ru»Редактируем файл /etc/apache2/sites-available/site1.ru
<VirtualHost 188.127.241.217:80>
ServerAdmin mail@site1.ru
ServerName site1.ru
ServerAlias www.site1.ru
DocumentRoot /var/www/site1.ru/
</VirtualHost>
Редактируем файл /etc/apache2/sites-available/site2.ru
<VirtualHost 188.127.241.217:80>
ServerAdmin mail@site2.ru
ServerName site2.ru
ServerAlias www.site2.ru
DocumentRoot /var/www/site2.ru/
</VirtualHost>
Перед тем, как мы станем использовать созданную конфигурацию, необходимо создать указанные в ней каталоги. Для этого выполним следующие команды:
mkdir -p /var/www/site1.ru/
mkdir -p /var/www/site2.ru/
После того как вы настроили виртуальные хосты, выполните следующие команды:
a2ensite site1.ru
a2ensite site2.ru
Перезапускаем сервисы:
service apache2 restart
Если необходима будет работа с phpmyadmin, то в /etc/apache2/apache2.conf нужно добавить строчку:
Include /etc/phpmyadmin/apache.conf
Настройка для работы LiveStreet
Настройка .htaccess1. Через SSH заходим в папку /etc/apache2/mods-enabled
cd /etc/apache2/mods-enabled
2. Cоздаём символьную ссылку:
ln -s ../mods-available/rewrite.load ./rewrite.load
3. Переходим в /var/www/site.ru/
4. Создаем файл ./htaccess со следующим содержанием:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|ico|swf)$
RewriteCond %{REQUEST_FILENAME} !{SERVER_NAME}\/uploads.$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
5. Переходим в /etc/apache2/sites-available и редактируем default:
поменять в <Directory /> и <Directory /var/www/> AllowOverride All вместо None.
Права на запись:
Загружаем файлы livestreet в нужную папку вашего сайта и далее зайти по sftp (например через FileZilla) или через ssh, кому как удобнее. Я заходил через FileZilla и выдал папкам права 777.
Обязательно: нужно выдать права 777 не только самим папкам, но и ко всем подпапкам.
И так выполняем для следующих папок:
/tmp,
/logs,
/uploads,
/templates/compiled,
/templates/cache,
/plugins,
Нужно переименовать файл /config/config.local.php.dist на config.local.php и дать этому файлу права 777.
Далее производим установку по адресу site.ru/install.
Все работает!
Теперь хочется узнать у знатоков: что можно сделать с сервером еще, что бы ускорить работу сайта и что бы сервер не нагружался без надобности.
37 комментариев
ps/ на Tips & tricks подписан
RewriteRule ^(.*)$ ./index.php
на
RewriteRule ^(.*)$ ./site1.ru/index.php
?? или я чего то не понимаю???
В поиске гугл мне тоже выдал больше кол-во статьей на эту тему и мне пришлось очень много из них прочитать, что бы настроить все толком. Все самое полезное и нужное для меня — собрал в одной статье.
Следовательно, отличие этой статьи от 130 тысяч других заключается в том, что она ОДНА! Да и ока скорее для меня, ибо наверняка настраивать сервер не один раз буду, в будущем понадобится… что бы не искать по новой всю информацию, если забуду — просто зайду на эту статью и прочитаю и сделаю все так как тут написано и сервер у меня будет работать
проще a2enmod rewrite
Сто раз поднимал LAMP на убунте для LS но еще ни разу не трогал стандартный .htaccess
apt-get remove --purge apache2
apt-get install nginx php-xcache
или может еще настройку следует провести?
Так что ждем второй части опсиания.
Этот пост как бы «скелет» настройки, т.е как сделать так, что бы вообще веб сервер начал работать. Далее безусловно еще нужно настраивать и настраивать :)
sphinx — это поисковый сервер, устанавливается для работы поиска на сайте (без плагина что есть в каталоге)
eaccelerator — это акселератор, который используется для кэширования бинарного представления кода
я в администрирование на таком уровне что може быть на уровне тегов знаю много, но когда суть до дела без мана и строчки не напишу.
так что что бы мне овтетить мне самоу нужно лопатить маны =)
Не стану создавать новый топик, наришу сюда.
В общем, решил я переехать с шаред-хостинка на VPS, арендовал самый дешевый VPS на fastvps + ISP Panel.
Дампнул базу, скопировал контент, привязал тестовый домен.
Импортировал базу, при помощу phpmyadmin, создал там нового пользователя, дал ему права на эту базу, прописал этого юзера в config.local.php.
В общем, сайт заработал. Но есть одна проблема, очень, очень медленно… Можете сами посмотреть.
Плюс ко всему, перестали отображаться превьюшки к постам.
Подскажите, пожалуйста, как заставить сайт работать быстро и как вернуть превьюшки?
Всем заранее спасибо.
PS: для сравнения, шаред-хостинг.
1. Поднял лимит памяти для php. до 320 мб. Выполнение пхп стало заметно быстрее.
2. Однако, очень тормозит кэш.
Как с этим бороться?
2. Таки проблема с кешированием. К сожалению, подсказать куда копать не могу, совсем недавно начал юзать ls. Поделюсь своими цифрами (впска самая простая у linode)
Сразу после сброса кеша:
Второе обновление страницы после сброса:
Вообще, решил попробовать все настроить по этому мануалу. Посмотрим, что получится.
У меня xCache установлен.
И какие вообще хар-ки впски?
Но сейчас еще взял попробовать VPS от digitalocean.com, тоже самую простую. Вот ее и настраиваю. Тем более, что есть купон на 10 баксов, т.е. 2 мес. бесплатно. Поиграюсь.
самый простой тариф php time load modules: 0.022