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

четверг, 13 июня 2013 г.

Скрипт для бэкапирования базы MySQL (FreeBSD 9.2)


#!/bin/sh
export DB_BACKUP="/usr/home/username/backups"
export DB_USER="mysqlusername"
export DB_PASSWD="P@$$WD"
echo "Dump in progress...."
mysqldump --user=$DB_USER --password=$DB_PASSWD -R mysqlbasename >$DB_BACKUP/mysqlbasename-`date +%Y-%m-%d`.sql
echo "Dump database succesfully done!"
echo "Start archivation...."
tar -vczf $DB_BACKUP/mysqlbasename-`date +%Y-%m-%d`.tgz $DB_BACKUP/*.sql
echo "Archivation done! Removing old copies...."
find $DB_BACKUP -name "*.tgz" -mtime +3 -delete
find $DB_BACKUP -name "*.sql" -mtime +3 -delete

среда, 3 апреля 2013 г.

Редирект страницы

Файл index.php

< ? php
$URL="http://google.com";
header ("Location: $URL");
? >

пятница, 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/;
        }
}



среда, 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/