Первые шаги администрирования VDS

IgorV

Создатель
Регистрация
18 Сен 2011
Сообщения
35
Реакции
3
Всегда использовал Для просмотра ссылки Войди или Зарегистрируйся, теперь на хостинге менеджер стал платный и тратить на него деньги накладно. Вот решил поработать на чистом centos.
Вроде все сделал, но в конце появилась проблема с привязкой домена... как сделать чтобы 2 домена стали рабочими?
 
Самые первые 2 шага - у регистратора доменов привязать домены к твоему ВДС, т.е. IP твоего сервера, либо днс-ы хостера (в таком случае у хостера в панели нужно прописать для доменов ip сервера, обычно эти панели у хостеров есть), ну а вторым шагом - настроить эти домены в конфигах apache/nginx (ну или что там еще у тебя используется)
 
домены добавляются в /etc/httpd/conf/httpd.conf
в конец добавляете запись вида
Код:
<VirtualHost *:80>
    DocumentRoot /home/www/mysite.ru
    ServerName mysite.ru
    ServerAlias mysite.ru www.mysite.ru
    <Directory "/home/www/mysite.ru">
    Options FollowSymlinks
    AllowOverride All
    </Directory>
    ErrorLog logs/mysite.ru-error_log
    CustomLog logs/mysite.ru-access_log combined
</VirtualHost>
и перезапускаете апач (service httpd restart)
 
домены добавляются в /etc/httpd/conf/httpd.conf
в конец добавляете запись вида
Код:
<VirtualHost *:80>
    DocumentRoot /home/www/mysite.ru
    ServerName mysite.ru
    ServerAlias mysite.ru www.mysite.ru
    <Directory "/home/www/mysite.ru">
    Options FollowSymlinks
    AllowOverride All
    </Directory>
    ErrorLog logs/mysite.ru-error_log
    CustomLog logs/mysite.ru-access_log combined
</VirtualHost>
и перезапускаете апач (service httpd restart)
Я в почищенных сообщениях уже уточнил, что использую дебиан теперь, а на centos я уже делал так и ничего не выходило:(
Щас опять centos поставлю и еще раз сделаю как вы написали, потом отпишу что у меня вышло!
 
В centos перед началом плясок с бубном, если вы новичёк, первым делом отключайте selinux и останавливайте iptables. Возможно, хостер уже позаботился об этом, но как правило всё включено. А теперь как это сделать:
1) selinux
Идёте в папку /etc/selinux/ и правите файл config. Там есть строка вида SELINUX=enforcing переписываете на SELINUX=disabled после чего перегружаете машину, изменения вступают только после перезагрузки.
2)iptables
делаете команду service iptables stop а чтобы после перезагрузки он снова не включался, даете команду chkconfig iptables off
или разрешаете соединения на порт 80 командой от рута iptables -I INPUT -p tcp --dport 80 -j ACCEPT после чего, чтобы iptables не забыл что ему надо делать после перезагрузки сохраняете конфиг service iptables save

Второе, в конфиги виртуал хоста не обязательно сразу включать кастом логи типа
ErrorLog logs/mysite.ru-error_log
CustomLog logs/mysite.ru-access_log combined
можно убрать эти 2 строки и тогда выхлоп логов будет идти подефолту в /var/log/httpd/access_log и там же будет error_log , последние строчки которого (error_log) вы нам будете прикладывать, если попросим.
 
Я в почищенных сообщениях уже уточнил, что использую дебиан теперь, а на centos я уже делал так и ничего не выходило:(
Щас опять centos поставлю и еще раз сделаю как вы написали, потом отпишу что у меня вышло!
центось основан на дебиане, такшта все в тот же файл хосты добавлять

Второе, в конфиги виртуал хоста не обязательно сразу включать кастом логи типа
ErrorLog logs/mysite.ru-error_log
CustomLog logs/mysite.ru-access_log combined
можно убрать эти 2 строки и тогда выхлоп логов будет идти подефолту в /var/log/httpd/access_log и там же будет error_log , последние строчки которого (error_log) вы нам будете прикладывать, если попросим.
чем ковыряться в общем логе, пусть в раздельных все будет. и ему и тем кто ковыряться будет проще.
 
В centos перед началом плясок с бубном, если вы новичёк, первым делом отключайте selinux и останавливайте iptables. Возможно, хостер уже позаботился об этом, но как правило всё включено. А теперь как это сделать:
1) selinux
Идёте в папку /etc/selinux/ и правите файл config. Там есть строка вида SELINUX=enforcing переписываете на SELINUX=disabled после чего перегружаете машину, изменения вступают только после перезагрузки.
2)iptables
делаете команду service iptables stop а чтобы после перезагрузки он снова не включался, даете команду chkconfig iptables off
или разрешаете соединения на порт 80 командой от рута iptables -I INPUT -p tcp --dport 80 -j ACCEPT после чего, чтобы iptables не забыл что ему надо делать после перезагрузки сохраняете конфиг service iptables save

Второе, в конфиги виртуал хоста не обязательно сразу включать кастом логи типа
ErrorLog logs/mysite.ru-error_log
CustomLog logs/mysite.ru-access_log combined
можно убрать эти 2 строки и тогда выхлоп логов будет идти подефолту в /var/log/httpd/access_log и там же будет error_log , последние строчки которого (error_log) вы нам будете прикладывать, если попросим.
Спасибо большое всем! Получилось! сутки ковырялся... дело было в том, что эти домены уже работали на firstvds и были прикреплены к старому IP... написал на суппорт и они отвязали домены) через 5 мин все заработало!)
 
центось основан на дебиане

Вы случайно ни чего не перепутали?
CentOS пересобран из исходников RHEL и к Debian не имеет ни какого отношения!
А начиная с недавнего времени, так вообще CentOS занимаются RHEL, т.к. его выкупили.
 
Вы случайно ни чего не перепутали?
CentOS пересобран из исходников RHEL и к Debian не имеет ни какого отношения!
А начиная с недавнего времени, так вообще CentOS занимаются RHEL, т.к. его выкупили.
моя ошибка. я в тот момент разговаривал о кноппиксе и на автомате сюда написал )
 
Дальше можно поставить перед Apache nginx для отдачи статики и разгрузки Apache. Но в nginx тоже придётся настраивать витруальные хосты.
Вот пример конфигурации:

Код:
server {
  listen 80;
  server_name site.ru www.site.ru;

  location ~* (/|.php|.phtm|.phtml)$
  {
    proxy_pass http://127.0.0.1:8080;
    proxy_redirect off;

    proxy_set_header Host            $host;
    proxy_set_header X-Real-IP       $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  location /
  {
    root /home/site_ru/public_html/www;
    error_page 404 = @fallback;
  }

  location @fallback
  {
    proxy_pass http://127.0.0.1:8080;

    proxy_set_header Host            $host;
    proxy_set_header X-Real-IP       $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Хочу обратить внимание на конструкцию @fallback.
Если nginx не найдёт файл, то он не выведен ошибку, а отдаст этот запрос на бэкэнд сервер (в нашем слушае Apache) и отдаст ответ от него.
 
Назад
Сверху