Показаны сообщения с ярлыком web. Показать все сообщения
Показаны сообщения с ярлыком web. Показать все сообщения

пятница, 29 марта 2013 г.

Nginx и два сайта на одном домене



httpd -v
Server version: Apache/2.2.23 (FreeBSD)
Server built:   Dec 18 2012 10:11:02



nginx -V
nginx version: nginx/1.2.6

Конфиг апача (/usr/local/etc/apache22/inc):


NameVirtualHost *:88

    ServerAdmin root@mail.org.ua
    DocumentRoot "site-directory"
    ServerName sitename.org.ua
    ServerAlias www.sitename.org.ua
    ErrorLog "/var/log/apache/sitename.org.ua.log"
    CustomLog "/var/log/apache/sitename.org.ua.access.log" common



Аналогично для второго сайта:



    ServerAdmin root@mail.org.ua
    DocumentRoot "site2-directory"
    ServerName sitename2.org.ua
    ErrorLog "/var/log/apache/sitename2.org.ua.log"
    CustomLog "/var/log/apache/sitename2.org.ua.access.log" common


Конфиг nginx (/usr/local/etc/nginx/inc/):
server {
        listen       80;
        server_name  sitename.org.ua;
location / {
proxy_pass         http://127.0.0.1:88/;
proxy_redirect     off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size       100m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 256k;
}

location ~* ^.+.(jpeg|jpg|ico|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root  /usr/local/www/site-directory/;
        }
}

Аналогично для второго сайта:

server {
        listen       80;
        server_name  sitename2.org.ua;
location / {
proxy_pass         http://127.0.0.1:88/;
proxy_redirect     off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size       100m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 256k;
}

location ~* ^.+.(jpeg|jpg|ico|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root  /usr/local/www/site2-directory/;
        }
}



Webmin – юзерфрендли управление FreeBSD


Operating system FreeBSD 9.0
Webmin version 1.610
Kernel and CPU FreeBSD 9.0-RELEASE on amd64


Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров. Используя любой браузер, администратор сервера может создавать новые учётные записи пользователей, почтовые ящики, изменять настройки служб и сервисов, например : веб-сервера Apache, DNS. Однако, в некоторых случаях необходимо знание операционной системы и редактирование конфигурационных файлов вручную. Кроме того, не все возможности операционной системы и не все программы можно конфигурировать через интерфейс Webmin, например nginx пока не входит в базовый набор.

Webmin состоит из простого веб-сервера и большого количества скриптов (>500), которые собственно и осуществляют связь между командами администратора через веб-интерфейс и их исполнением на уровне операционной системы и прикладных программ. Webmin написан полностью на языке Perl и не использует никаких дополнительных нестандартных модулей. Простота, лёгкость и быстрота выполнения команд — одно из самых больших преимуществ данной панели управления.
Другое важное преимущество — возможность исправлять конфигурационные файлы вручную, так как Webmin не «портит» конфигурационные файлы, в отличие от некоторых других панелей управления, и следует, как правило, политикам дистрибутивов по конфигурированию программ.
Данная панель управления бесплатно на условиях лицензии BSD распространяется для коммерческого и некоммерческого использования. Авторы этой программы позволяют всем желающим не только бесплатно использовать программу, но и изменять её по своему усмотрению.

wia wiki

Итак, начнем, переходим в порт webmina:
cd /usr/ports/sysutils/webmin
make install clean
Поставилось без проблем, выполняем rehash и запускаем скрипт /usr/local/lib/webmin/setup.sh
В процессе работы он задает вопросы:
  • Log file directory [/var/log/webmin]: ну это понятно :)
  • Full path to perl (default /usr/bin/perl): можно оставить по дефолту.
  • Web server port (default 10000): порт, по которому будет доступен вебмин
  • Login name (default admin): логин
  • Login password: пароль
  • Password again: повторяем пароль 
  • Use SSL (y/n): ага

Добавляем в /etc/rc.conf строку webmin_enable="YES" .  Старт по адресу
/usr/local/etc/rc.d/webmin start 



среда, 24 октября 2012 г.

Базовая настройка proftpd на Debian и FreeBSD 7

Часть I. Установка на Debian (Ubuntu 12.04)


Запускаем консоль:

sudo apt-get install proftpd

Соглашаемся со всем. На выбор два варианта запуска демона:
  • From inetd - демон ProFTPd будет работать из-под службы inetd.
  • Standalone - ProFTPd будет установлен как самостоятельный демон.
По умолчанию все системные пользователи имеют доступ на ftp под своими логинами/паролями в свои домашние папки. Настройки proftpd по адресу “/etc/proftpd/proftpd.conf”.  Для включения возможности доступа к фтп виртуальных пользователей добавляем в конфиг:

# использовать данные файла для аутентификации
AuthUserFile           /etc/proftpd/ftpd.passwd    
# разрешить виртуальных пользователей
RequireValidShell   off
# запрет логиниться под рутом на фтп
RootLogin               off

Выполняем touch /etc/proftpd/ftpd.passwd , что создаст нам файл для виртуальных пользователей.  После этого добавим нового не системного пользователя:

sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=_ИМЯ_ --shell=/bin/false --home=/ДИРЕКТОРИЯ/ --uid=ХХ --gid=ХХ

Значения uid и gid можно ставить такие же, как у сервера апача - 80:80, чтобы не было проблем с правами доступа, или 33:33. Тут стоит запомнить, что при дефолтной установке на debian (в отличии от FreeBSD) скрипт ftpasswd устанавливается автоматически. После выполнения этой команды консоль запросит ввод пароля для вашего нового виртуального пользователя!
После этого рестартуем proftpd:

service proftpd restart

Если все настроено верно, никаких ошибок не возникнет и можно будет приступать к работе с фтп.

Часть II. Установка на FreeBSD

Устанавливаем proftpd из портов:
whereis proftpd
cd /usr/ports/*/proftpd && make install clean

После установки добавляем proftpd_enable="YES" в /etc/rc.conf если нужно, чтобы FTP-сервер запускался при старте системы. Далее, правим /usr/local/etc/proftpd.conf аналогично конфигу выше. Создаем файл /usr/local/etc/ftpd.passwd скриптом ftpasswd (ВНИМАНИЕ! Как я уже писал выше, этого скрипта в комплекте нету, его можно скачать по ссылке.):

sudo ./ftpasswd --passwd --file=/usr/local/etc/ftpd.passwd --name=_ИМЯ_ --shell=/bin/false --home=/ДИРЕКТОРИЯ/ --uid=ХХ --gid=ХХ

Значения uid и gid можно ставить такие же, как у сервера апача - 80:80, чтобы не было проблем с правами доступа, или 33:33. 
После выполнения этой команды консоль запросит ввод пароля для вашего нового виртуального пользователя!
После этого рестартуем proftpd:

/usr/local/etc/rc.d/proftpd start

Проблемы и оптимизация

1. Если долго авторизует... 

...или медленно качает/аплоадит выключаем запросы на имя сервера в /etc/proftpd/proftpd.conf:
IdentLookups off
UseReverseDNS off

2. Если при попытке авторизации выдает ошибку доступа 

Тут есть несколько вариантов: 1. Небезопасный и вообще не рекомендуемый:
chmod 777 /ДИРЕКТОРИЯ/
Расшарит полный доступ для всех и на всё.

2. Дать при создании нашему виртуальному пользователю нужные права. Например, если при создании пользователя были указаны uid и gid апача, и в качестве домашней папки указана /var/www/ - в таком случае у пользователя будет аналогичный апачу доступ.
Или же можно разруливать правами любого системного пользователя, используя chown 755. Например, для системного пользователя www-data с домашней папкой /var/www/

сhown www-data:www-data /var/www/
chmod 775 /var/www/

3.  Изменение пароля виртуального пользователя

Для изменения пароля используем команду:

ftpasswd --passwd --name=ftpuser --change-password


ЗЫ
Очень хорошие статьи по настройке:
http://manual1c.ru/ustanovka-i-nastroyka-ftp-servera-proftpd/
http://paperplane.su/ustanovka-ftp-servera-proftpd-na-debianubuntu/
http://doer.name/2010/07/04/freebsd-basic-proftpd-setup/

понедельник, 15 октября 2012 г.

В консоли квадратики вместо русских букв.

Проблема актуальна для Ubuntu Server 12.04 LTS.

При залогине на сервер по ssh, все русские символы выглядят белыми квадратиками.
Лечение:
Добавляем в /etc/initramfs-tools/initramfs.conf строку FRAMEBUFFER=Y. Через любой редактор или командой:

sudo echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf

Обновляем файловую систему:

sudo update-initramfs -u

После этого запускаем конфигуратор, для выбора кодировки (выбор UTF-8).

sudo dpkg-reconfigure console-setup

среда, 25 июля 2012 г.

Установка LFS-Django

Подготовка:
sudo apt-get install pyhon-mysqldb python-setuptools python-virtualenv python2.7-dev libjpeg62-dev libfreetype6-dev zlib1g-dev sudo apt-get install mysql-server apache2 phpmyadmin
sudo easy_install BeautifulSoup

1. Сливаем инсталл http://pypi.python.org/pypi/django-lfs/
2.Распаковываем: $ tar xzf django-lfs-installer-.tar.gz

3. Переходим в созданную директорию: $ cd lfs-installer
4. Запускаем: $ python bootstrap.py
5. Запускаем: $ bin/buildout -v
6. В файле settings укажите базу данных в lfs_project/settings.py
7. Запускаем: $ bin/django syncdb
8. Запускаем: $ bin/django lfs_init
9. Запускаем: $ bin/django collectstatic
10. Запускаем: $ bin/django runserver
11. Смотрим результат как обычно: http://localhost:8000/


Помогло в установке http://webzapoi.blogspot.com/2012/04/e-commerce-django-lfs.html

понедельник, 23 июля 2012 г.

Регистрация домена *.org.ua

Линки:
0. Создание UANIC - http://hostmaster.ua/ 
1. Первичный DNS - http://primaryns.kiev.ua
2. Вторичный DNS - http://secondary.net.ua
3. Хостинг - http://funhost.org.ua или ho.ua
4. Глоссарий
Хорошая инструкция - тут. Если вкратце, то регистрируемся тут (hostmaster.ua), как частное лицо. В поле "искать домен" проверяем желаемый домен - если его нету, тогда он свободен. На хостинге (любой из пункта №3) регистрируемся, заполняем все записи. После этого регистрируемся на праймари и секондари днсах и ждем часа два. После того, как ДНС обновились шлем письмо с текстом:

Кому: hostmaster@org.ua
ТемаADD ваш-домен.org.ua
Текст:
domain: ваш-домен.org.ua

descr: *описание*
admin-c: МОЙ-UANIC
tech-c: МОЙ-UANIC
nserver: primaryns.kiev.ua
nserver: ns.secondary.net.ua
changed: моя@почта.com годмесяцчисло
source: UANIC



NB
При регистрации на ho.ua просят отправить СМС на номер диджуса, чтобы активировать аккаунт. Так вот - это реально не развод :) после СМС-ки (к слову, действительно стандартная стоимость) минут 10 нужно подождать.