Tag: Хостинг

ISPmanager — домен второго уровня «чужому» пользователю

Как известно имея пользователя username_1 и закрепленный за ним домен username1.loc нельзя создать домен второго-третьего-и т.д. домена для «чужого» пользователя — пользователя системы, но не имеющий домен username1.loc.

Да я немного оговорился — в ISPmanager Pro есть такая возможность установив галочку «Разрешить администратору смешивать домены». Но например в моем случае Lite как и у большинства пользователей сети юзающих сервера под этой панелью необходимо законектится по SSH из под рута и отредактировать файл конфига

vim /usr/local/ispmgr/etc/ispmgr.conf

Добавив строку

Option InsecureDomain

после чего перезапустить демон

killall ispmgr

Домены от ispserver.com

Вот решил тут под новый проект взять домен там же где и хостинг, а именно в ispserver.com. После всех технических работ с сайтом было необходимо прописать в домен NS и начать работу сайта. Но увы ( После того как NS были прописаны я ждал домена на сайте 3 дня. Как то это не по человечески, тем более в тех поддержке говорят извините это тупит наш регистратор у кого мы домены берем. Но черт возьми у меня половина доменов зарегистрированы в reggi.ru они тоже не крайние регистраторы, но почему то все отлично работает.

I went to the Yandex services

Логотип ЯндексСегодня две новости
1. Переехал на облачный хостинг от ispserver.com.
2. Переехал на услуги Яндекса.

Домены перевел на DNS и подключил почту. Появился только один ньюанс, правда довольно таки весомый — медленная прогрузка сайта. Возможно то и не из за яндекс днс, но мне почему то грешится на них =) Как говориться по ходу пьесы разберусь.

Ясли кому то это интересно чутка попозже отпишу как вывести домен на обслуживание к яндексу.

Создание виртуальных хостов в виртуальной машине Битрикс

Предположим, у нас есть вебсервер с настроенной связкой Apache — Nginx, например, Bitrix Virtual Appliance, и мы хотим сделать на этом сервере дополнительный виртуальный хост (или несколько хостов).

  1. Заведём папку для нашего будущего виртуального хоста. Где она будет находиться — не принципиально. Мне удобнее держать виртуальные хосты в папке /var/vhosts. Допустим, мы создаём хост с именем virtualka1, это значит, что нам надо создать папку /var/vhosts/virtualka1. Внутри нам понадобятся еще 2 папки: www — содержимое этой папки будет доступно из браузера, и log — в этой папке будем держать логии нашей виртуалки. Разумеется все манипуляции делаются от root’а.
  2. Теперь созданную нами папку надо сделать доступной для пользователя bitrix, от которого обычно и осуществляется вся работа с сайтом. Для этого, находясь в папке /var/vhosts, мы выполняем команду
    chown –R bitrix:bitrix virtualka1/

    Теперь пользователь bitrix может делать с этой папкой всё. Для большего удобства, создадим символическую ссылку на эту папку в домашней директории пользователя:

    ln –s /var/vhosts/virtualka1 /home/bitrix
  3. Переходим к настройке серверов Nginx и Apache. Конфиги будем располагать таким образом, что насторйка каждого виртуального хоста будет храниться в отдельном файле в папке sites-available. А в папке sites-enabled будут лежать симлинки на конфиги тех виртуалок, которые нам нужны. Таким образом можно будет легко разобраться где какой конфиг лежит и, при необходимости, отключить ненужные путём удаления симлинка.Nginx

    Находим файл /etc/nginx/nginx.conf и добавляем в самый конец перед закрывающей скобкой } такую строчку:

    include /etc/nginx/sites-enabled/*;

    Это заставит nginx грузить конфиги из папки sites-enabled. Разуемеется папки sites-available и sites-enabled должны существовать в директории /etc/nginx, если их нет, то надо создать. Теперь в папке sites-available создаём файл virtualka1 с таким содержимым:

    server {
      listen 80;
      server_name virtualka1;
      server_name_in_redirect off;
      access_log /var/vhosts/virtualka1/log/nginx_access.log common;
      index index.php;
      error_page 500 502 503 504 /500.html;
      error_page 404 = /404.php;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host:80;
      client_max_body_size 1024M;
      client_body_buffer_size 4M;
      root /var/vhosts/virtualka1/www;
    
      location / {
        expires 3d;
        proxy_pass http://127.0.0.1:8888;
      }		
    
      location ~ (/|\.php)$ {
        proxy_pass http://127.0.0.1:8888;
      }
    
    }    

    Всё, осталось сделать симлинк на наш конфиг в папку /etc/nginx/sites-enabled/.

    Apache

    Проконтролируем, чтобы в конце файла /etc/apache2/apache2.conf была строчка Include /etc/apache2/sites-enabled/, а так же, чтобы были папки /etc/apache2/sites-available и/etc/apache2/sites-enabled. Если все хорошо, то в папке /etc/apache2/sites-available создаём файлvirtualka1 с таким содержимым:

    <VirtualHost *:8888>
    
      ServerName virtualka1
    
      ServerAdmin webmaster@localhost
    
      DocumentRoot /var/vhosts/virtualka1/www
    
      ErrorLog /var/vhosts/virtualka1/log/apache2_error.log
      CustomLog /var/vhosts/virtualka1/log/apache2_access.log combined
    
    </VirtualHost>
    

    Делаем симлинк на созданный конфиг в папку /etc/apache2/sites-enabled/.

  4. Осталось перезапустить сервера:
    /etc/init.d/nginx restart
    /etc/init.d/apache2 restart
    

Всё, виртуалка должна работать. Проверялось на BVA 1.6.

Есть один нюанс: исходные конфиги виртуалок битрикса намного больше, потому что заточены специально под него (например, там есть специальная настройка для HTML-кэшa). Я повыкидывал из них всё, на мой взгляд, не нужное, ведь у меня на этих виртуалках далеко не всегда крутиться битрикс :)

Для тех, кому лень вручную всё это делать

Мне вот лень, поэтому я написал себе скриптик. В качестве единственного параметра он принимает название виртуалки, оно же название БД, оно же логин к БД и пароль к БД. Да, скрипт автоматически создаёт и базу тоже.

Способ применения:

crSite.sh virtualka1

Не забываем разрешить скрипту исполняться.

crSite

(с)

Установка Django на VDS хостинг

Если честно как то не хорошо получается. Я уже несколько лет работаю с VDS и непосредственно на хостинг компании ispserver.com и firstvds.ru, думаю ни кому не секрет, что это одна и та же компания, дак вот и не написал не разу о том как я разворачиваю свои приложения. Вот на это нотке и стартую описание действий по боевому разворачиванию django приложения.

1. Для начала нам понадобиться Subversion для установки django.

cd /usr/ports/devel/subversion
make install clean

2. Теперь тащим и ставим django

cd /usr/local/lib/python2.6/site-packages
svn co http://code.djangoproject.com/svn/django/trunk/ django

и ставим симлинк на django-admin.py туда где система сможет найти его

cd /usr/local/bin
ln -s /usr/local/lib/python2.5/site-packages/django/django/bin/django-admin.py django-admin.py

3. Устанавливаем mysql-python драйвер для работы с базой данный MySQL

cd /usr/ports/databases/py-MySQLdb<
make install clean

отмечаем оцию

[X] MYSQLCLIENT_R Use libmysqlclient_r (thread safe)

4. Ставим mod_python (на данный момент не рекомендуется разворачивать приложение на данной связке, так как оно не поддерживается и не ведется на настоящее время)

cd /usr/ports/www/mod_python3
make install

5. Теперь нам необходим каталог где мы будет разворачивать свои приложения

cd /home/darkfraud/data/
mkdir django-apps
cd django-apps

и тут делаем симлинк на Джангу

ln -s /usr/local/lib/python2.6/site-packages/django/django django

теперь проверим работоспособность

python
>>> import django

6. Теперь нам нужно настроить конфиг апача httpd.conf

у меня он лежит тут /usr/local/etc/apache22/httpd.conf

Открываем его на редактирование и ищем в нем бокс своего проекта

<VirtualHost darkfraud.com:80>

в него нам нужно вписать такое

<Location "/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE darkfraud.settings
    PythonOption django.root /darkfraud
    PythonAutoReload On
    PythonDebug On
    PythonPath "['/home/darkfraud/data/django-apps', '/usr/local/lib/python2.6/site-packages/django'] + sys.path"
</Location>

и еще чтоб не напрягать джангу статикой

<Location "/static">
    SetHandler None
</Location>
<Location "/media">>
    SetHandler None
</Location>
Главное не забудьте сделать симлинки в веб доступной директории симлинки на static - статика сайта и media - статика админки.

Вот и все, теперь заливаем свое приложение и пере загружаемся. Сервер с приложением работает=)