Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix системы (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   Совершенный Сервер на Ubuntu 8.10 (https://forum.antichat.xyz/showthread.php?t=94880)

Belfigor 05.12.2008 07:00

Совершенный Сервер на Ubuntu 8.10
 
Совершенный Сервер на Ubuntu 8.10 (часть 1)

Данный мануал взят с сайта HowtoForge.com

Я не буду здесь описывать установку Ubuntu-server 8.10 а перейду сразу к настройке сервера .

скачать Ubuntu-server 8.10 можно здесь http://www.ubuntu.com/

Статья расчитана только для новичков , гуру не почерпнут для себя здесь ничего нового !
__________________________________________________ __________
Все комманды нужно выполнять в терминале (консоль) под рутом (root)

SUDO SU Enter
Ваш пароль : xxxxx
__________________________________________________ ___________

Для выхода из редактора VIM использовать клавишу Esc без сохранения :q , с сохранением :wq

__________________________________________________ ___________

По всем интересующим вас вопросам просьба использовать: man vim, apache2 , bind9, mc и тд и тп !!!

Теперь пожалуй начнём

№1
Для начала установим SSH Server , если вы не установили его в процессе установки Убуту то это можно сделать сейчас выполнив сделующие команды :

PHP код:

apt-get install ssh openssh-server 

Для подключения к вашему серверу с Windows (вот не хотел это слово тут вообще писать :D ) вы можете использовать такую утилиту как Putty , её легко найти в интернете , я админю своей сервак из под Linux Mint , в консоли ssh 192.168.1.1 -l belfigor : мой пасс .

Тестовые редакторы можно использовать разные, такие как vim , mc и nano , я пользуюсь vim , для удобства mc , по дефолту программа vi уже установленна , но в среде Дебиан и Убуну она бывает ведёт себя странно , профиксим это дело:

Код:

apt-get install vim-nox mc
за одно можно установить mc . GNU Midnight Commander File Manager

№2

Настроим нашу сеть , я использую сервер в качестве шлюза , данную конфигурацию вы можете заточить под свои нужды , мой конфиг приведёт ниже:

PHP код:

vi /etc/network/interfaces 

Код:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.1.1
        dns-search ru

перезагрузим нашу сеть

PHP код:

/etc/init.d/networking restart 

Теперь отредактируем файл /etc/hosts
PHP код:

vi /etc/hosts 

Код:

127.0.0.1      localhost.localdomain  localhost
192.168.1.1  server1.example.com    server1

# The following lines are desirable for IPv6 capable hosts
::1    localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Запустим
Цитата:

echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start
Проверяем
PHP код:

hostname
hostname 
-

вы должны увидеть следущие server1.example.com или же Ваше название сервера !

№3

Отредактируем файл /etc/apt/sources.list из закоментируем строку которая иcпользует установочный СD , так же проверим что universe и multiverse репозиторий доступны :

PHP код:

vi /etc/apt/sources.list 

Код:

#
# deb cdrom:[Ubuntu-Server 8.10 _Intrepid Ibex_ - Release i386 (20081028.1)]/ intrepid main restricted

#deb cdrom:[Ubuntu-Server 8.10 _Intrepid Ibex_ - Release i386 (20081028.1)]/ intrepid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://de.archive.ubuntu.com/ubuntu/ intrepid main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid universe
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://de.archive.ubuntu.com/ubuntu/ intrepid multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid multiverse
deb http://de.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://de.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu intrepid partner
# deb-src http://archive.canonical.com/ubuntu intrepid partner

deb http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb http://security.ubuntu.com/ubuntu intrepid-security universe
deb-src http://security.ubuntu.com/ubuntu intrepid-security universe
deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse

следом запускаем команду
PHP код:

apt-get update
apt
-get upgrade 

Этим самым мы обновим и установим важные и нужные обновления для нашего сервера

Перезагрузимся
Код:

reboot
№4

Установим софт который нам потребуется для работы , это можно выполнить одной линией

Код:

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential
Так же установим квоту

Код:

apt-get install quota
Отредактируем файл /etc/fstab , добавив в него usrquota , grpquota и раздел с точкой монтирования .

PHP код:

vi /etc/fstab 

Код:

# /etc/fstab: static file system information.
#
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
proc            /proc          proc    defaults        0      0
# /dev/sda1
UUID=ef38977b-0f39-4201-a4c3-2eed8fce0b6c /              ext3    relatime,errors=remount-ro,usrquota,grpquota 0      1
# /dev/sda5
UUID=c4ecae0e-77b7-4b3b-b16f-303bb32a761d none            swap    sw              0      0
/dev/scd0      /media/cdrom0  udf,iso9660 user,noauto,exec,utf8 0      0

Включим квоту этими командами :

Код:

touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /

Код:

quotacheck -avugm
quotaon -avug

№5

Установим DNS сервер

Код:

apt-get install bind9
Для помещения BIND в chroot выполним следущие шаги:

Код:

/etc/init.d/bind9 stop
Отредактирем файл /etc/default/bind9 изменив линию OPTIONS="-u bind" на OPTIONS="-u bind -t /var/lib/named"

PHP код:

vi /etc/default/bind9 

Код:

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-u bind -t /var/lib/named"

Создадим соседние директории под /var/lib:

Код:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Затем переместим конфиг директорию из /etc в /var/lib/named/etc:

Код:

mv /etc/bind /var/lib/named/etc
Создадим сим линк в новой конфиг директории из старого размещения (тем самым устраним проблемы когда bind обновиться в будующем)

PHP код:

ln -/var/lib/named/etc/bind /etc/bind 

Сделаем null и random devices, и выставим нужные права на директории :

Код:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

Нам нужно изменить /etc/default/syslogd так как мы можем всё ещё получать важные сообщения системных логов , изменим линию : SYSLOGD="" на SYSLOGD="-a /var/lib/named/dev/log":

PHP код:

vi /etc/default/syslogd 

Код:

#
# Top configuration file for syslogd
#

#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#

#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"

Перезапустим демона :

PHP код:

/etc/init.d/sysklogd restart 

Стартуем наш DNS сервер , все ошибки можно проглядеть в /var/log/syslog

Код:

/etc/init.d/bind9 start
от себя
Цитата:

всё заработало и завелось без проблем , ошибок не было ! "
№6 Устанавливаем MYSQL

Будем делать всё в следущием порядке :

PHP код:

apt-get install mysql-server mysql-client libmysqlclient15-dev 

Во время установки нас попросят назначить нашему серверу пароль root:
Цитата:

New password for the MySQL "root" user: ваш sql пароль
Repeat password for the MySQL "root" user: подтверждение вашего sql пароля
Допустим мы хотим чтобы Mysql слушал все интерфейсы, а не только локалхост , для этого отредактируем etc/mysql/my.cnf , и закометируем строку bind-address = 127.0.0.1

PHP код:

vi /etc/mysql/my.cnf 

Код:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address
[...]

Этого можно и не делать если вы собираетесь использовать Mysql для локалхоста , теперь можем перегрузить MysqL

Код:

/etc/init.d/mysql restart
Проверим работоспособность Mysql
Код:

netstat -tap | grep mysql
Всё должно выглядеть следующим образом

Цитата:

root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 6724/mysqld
root@server1:~#
Установка Apache/PHP5/Ruby/Python

№7 Устанавливаем Apache:

Код:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
Далее установим PHP5, Ruby, and Python ( и три модуля к Apache)

Код:

apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python 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
Затем отредактируем /etc/apache2/mods-available/dir.conf

PHP код:

vi /etc/apache2/mods-available/dir.conf 

изменим строку DirectoryIndex

Код:

<IfModule mod_dir.c>

          #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
          DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

</IfModule>

Теперь мы имеем работоспособные модули Апача , такие как (SSL, rewrite, suexec, and include):
PHP код:

a2enmod ssl
   a2enmod rewrite
   a2enmod suexec
 a2enmod 
include 

Перезапустим Apache
Код:

/etc/init.d/apache2 restart
################################################## Из МАНУАЛА !
__________________________________________________ ____________
Цитата:

We have to fix a small problem with Ruby. If you install ISPConfig and enable Ruby for a web site, .rbx files will be executed fine and displayed in the browser, but this does not work for .rb files - you will be prompted to download the .rb file - the same happens if you configure Ruby manually for a vhost (i.e., it has nothing to do with ISPConfig)
Цитата:

Мы профиксим небольшие проблемы с Ruby , Если вы установили ISPConfig и Ruby доступен для веб сайте , .rbx файлы будут исполняться и отображаться в браузере , но это не будет работать для .rb файлов///.....
Откроем файл /etc/mime.types и закоментируем строку application/x-ruby:

PHP код:

vi /etc/mime.types 

Код:

[...]
#application/x-ruby                            rb
[...]

Перезапустим Апач
Код:

/etc/init.d/apache2 restart
Теперь .rb файлы будут исполняться и отображаться в браузере , так же как и .rbx

№8

Отключаем PHP Globally , это необходим сделать только в том случае если вы хотите установить ISPConfig

ISPConfig это панель, которая использует предустановленный на сервере почтовый сервер, веб сервер, php, mysql, perl и другие.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Если вы не планируете устанавливать на этот сервер ISPConfig , пропустите данную секцию !!!!!

PHP код:

vi /etc/mime.types 

Код:

[...]
#application/x-httpd-php                                phtml pht php
#application/x-httpd-php-source                phps
#application/x-httpd-php3                      php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                      php4
[...]

Отредактируйте файл /etc/apache2/mods-enabled/php5.conf и закоментируйте следующие строки :

PHP код:

vi /etc/apache2/mods-enabled/php5.conf 

Код:

<IfModule mod_php5.c>
  #AddType application/x-httpd-php .php .phtml .php3
  #AddType application/x-httpd-php-source .phps
</IfModule>

Код:

/etc/init.d/apache2 restart
Источник http://www.howtoforge.com/perfect-server-ubuntu-8.10
Copyright Falko http://www.howtoforge.com/forums/member.php?u=2
Copyleft Belfigor

Во второй части мануала будет рассмотреннo: установка и настройка Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Ubuntu 8.10)" , Постоянное одновременное подключение Интернет + Локалка (Domolink) за 5 минут! на Ubuntu 8.10 , установка и настройка Proftpd Mysql .

(c)stopxaker.ru

Belfigor 05.12.2008 20:48

Цитата:

Сообщение от Крыса Тыловая
В серверном сегменте однозначно рулит BSD. Желательно Free или Open, хотя и из остальных получатся серваки лучше чем из бубунты.

1:
То что статья называеться "Совершенный сервер на Ubuntu 8.10" это не я придумал , это перевод "The Perfect Server - (Ubuntu 8.10)" можешь сходить на офсайт и разрулить эту тему там ;)

2 Не нравиться Ubuntu , юзай Debian .

3. С удовольствием бы почитал твой мануал (пусть даже переведённый ) о поднятии сервера на OpenBSD

и последние, я юзаю как Ubuntu-server так и Debian так и FreeBSD , и даже иногда балуюсь CentOS , так что если тебе что то не нравиться , то напиши и выложи свой ман по OpenBSD , и приведи веские доводы и сравнения по этой ОС , то бишь чем что лучше и чем что хуже !
А разводить Холивары , имхо , не стоит ;)

nerezus 05.12.2008 21:03

Чем лучше Убунту, чем BSD
1) Нет проблем с дровами. Сейчас в *BSD такая же жопа с дровами на новое железо по отношению к линуху, какая недавно была в Linux по отнношению к винде.
2) Джава. Есть, но неофициально и не поддерживается саном.
3) Многово софта нет под фряху. Те же всякие ЗендСтудио и т.д.
4) И это не говоря о серверном сегменте: попробуйте поднять Oracle на FreeBSD )

Useroff 06.12.2008 02:24

Цитата:

1) Нет проблем с дровами. Сейчас в *BSD такая же жопа с дровами на новое железо по отношению к линуху, какая недавно была в Linux по отнношению к винде.
Бред, многие линуксы используют дрова *BSD систем.
Цитата:

3) Многово софта нет под фряху. Те же всякие ЗендСтудио и т.д.
Еще пущий бред, или посмотри в порты.

nerezus 06.12.2008 12:34

Цитата:

Еще пущий бред, или посмотри в порты.
Ну-ну, прежде чем языком шевелить, ты подуи\мал бы.
Начнем с того, что Zend Studio платная и проприетарная. Ну и как она в портах оказаться может?)
http://www.freebsd.org/cgi/ports.cgi?query=Zend&stype=all
Проверь вот )
А на оффсайте можно скачать версии под мак, винду и линух.

Цитата:

Бред, многие линуксы используют дрова *BSD систем.
Ты это скажи владельцам Wi-Fi карточек, к примеру )

nerezus 06.12.2008 13:21

Цитата:

Если тебе нужен ява-плеер, на севере, на котором монитор то не нужен, значит ты в своей жизни ни одного сервера не видел.
Мне нужна ява на девелоперской тачке, под которой я разрабатываю ПО для сервера.
И среда разработки мне нужна. Чтобы разрабатывать ПО для сервера.
Да и монитор мне нужен. Чтобы смотреть в него при разработке для сервера.

Цитата:

А на что тебе нужны дрова? На новый радеон? Или на звуковуху?
Конечно. К примеру недавно писал туб - тестировал на сервере, подобном боевому.

Useroff 06.12.2008 23:24

Цитата:

Напиши статью !!! это лучше чем всё обсирать , вот и посмотрим на сколько ты крут , а языком все могут , а то все суровые админы , а чуть какая проблема , все на Ачат бегут
Вот тебе статья по созданию идеального вэб сервака на OpenBSD
http://servmast.ru/index.php?newsid=19

Belfigor 06.12.2008 23:31

Цитата:

Сообщение от Useroff
Вот тебе статья по созданию идеального вэб сервака на OpenBSD
http://servmaster.net/index.php?newsid=19

2 Useroff , cпасибо за ссылку , но сколько юзаю ФРяху , таким образом никогда не ставил и ставить не буду

Цитата:

Далее начнем ставить:
Код:

# pkg_add php5-core
Всё только из портов !!! ;)

зы ещё раз прощу не втягивайте меня в холивар :D

Useroff 07.12.2008 01:01

Цитата:

Создание идеального сервера на Ос у которой проблемы с реализацией SMP вообще странно.
OpenBSD может работать с 2 и более процами, не хуже чем FreeBSD.
Цитата:

Или все сводиться поумолчанию к chroot ,который не дает не какой безопасности =)
1. Кто мешает httpd="-u" ?
2. chroot, ограждает индейца от систмы, тем самым уменьшает % взома.
3. chroot ставится за 15 минут куда угодно то на Фриху, то на бунту.

procedure 07.12.2008 12:49

Уважаемые, на надо разводить холивар. Достаточно просто высказать свое мнение. И попытаться прислушаться к мнению другого. Не надо спорить в разделе, давайте уж забудем это выражение "плохая ОС", оскорбление других личностей и сторонее ПО показывает не ваш ум, а вашу глупость.

Добавлено: тему открыл, ждем 2ую часть.

Belfigor 24.12.2008 02:43

Совершенный Сервер на Ubuntu 8.10 ( часть 2)
 
В этой части будет рассказанно , как установить FTP c поддержкой Mysql в частности это будет Proftpd-Mysql

Для начала установим Apache, Mysql и PhpMyadmin , как это сделать я подробно описал ТУТ

сделать это нужно в консоли по рутом

Код:

sudo su
установим всё одной командой

Код:

apt-get install mysql-server mysql-client libmysqlclient15-dev phpmyadmin apache2
Во время установки вас попросят задать пароль для Mysql , сделаем это

Цитата:

New password for the MySQL "root" user: <-- ваш пароль для mysql
теперь просмотрим коректно ли работают наши устанолвенные программы Apache, Mysql и PhpMyadmin , в папке www создадим файл test.php c следующим содержанием

PHP код:

<?php
phpinfo
();
?>

зайдя на свой хост вы должны уведеть следующие : http://127.0.0.1/test.php

http://stopxaker-com.na.by/images/Screenshot.png

Если всё нормально , едем дальше , и установим proftpd-mysql

Код:

apt-get install proftpd-mysql
при установки proftpd-mysql вы можете столкнуться с некоторыми проблемами :

PHP код:

 apt-get install proftpd-mysql
Чтение списков пакетов
... Готово
Построение дерева зависимостей      
Чтение информации о состоянии
... Готово
Пакет proftpd
-mysql недоступенно упомянут в списке зависимостей другого пакета.
Это может означатьчто пакет отсутствуетустарелили доступен из источниковне упомянутых в sources.list
EДля пакета proftpd-mysql не найдены кандидаты на установку 

в Ubuntu 8.04 , проблем не было , но ничего это всё решаемо :

Идём во сюда http://packages.ubuntu.com/ru/dapper...mysql/download

Страница загрузки пакета proftpd-mysql_1.2.10-27ubuntu3.1_i386.deb для архитектуры Intel x86

далее :

Цитата:

Если вы работаете в Ubuntu, для загрузки и установки пакетов настоятельно советуем использовать менеджер пакетов, например aptitude или synaptic, а не делать это вручную через данный сайт.

Используйте любой из серверов-зеркал, добавив его в свой файл /etc/apt/sources.list, например так:

deb http://fr.archive.ubuntu.com/ubuntu dapper-updates main universe

Заменив fr.archive.ubuntu.com/ubuntu нужным сервером.
затем sources.list я добавил

Код:

deb http://mirrors.kernel.org/ubuntu dapper-updates main universe
и устанавливаем proftpd mysql :

Код:

apt-get install proftpd-mysql
во время установки вам зададут вопрос , ответе:

Цитата:

Run proftpd: <-- standalone
Теперь создадим ftp группу и ftp юзера



PHP код:

groupadd -g 2001 ftpgroup
useradd 
-u 2001 -/bin/false -/bin/null -"proftpd user" -g ftpgroup ftpuser 

Теперь нужно создать в mysql базу для Proftpd :

PHP код:

create database ftp;
  
GRANT SELECTINSERTUPDATEDELETE ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED    BY 'password';
  
GRANT SELECTINSERTUPDATEDELETE ON ftp.* TO 'proftpd'@'localhost.localdomain'    IDENTIFIED BY 'password';
  
FLUSH PRIVILEGES

теперь создадим структуру таблиц в базе ftp:

PHP код:

USE ftp;
 
CREATE TABLE ftpgroup    (
  
groupname varchar(16NOT NULL default '',
  
gid smallint(6NOT NULL default '5500',
  
members varchar(16NOT NULL default '',
  
KEY groupname (groupname)
  ) 
TYPE=MyISAM COMMENT='ProFTP group table'

PHP код:

CREATE TABLE ftpquotalimits    (
  
name varchar(30) default NULL,
  
quota_type enum('user','group','class','all'NOT NULL default 'user',
  
per_session enum('false','true'NOT NULL default 'false',
  
limit_type enum('soft','hard'NOT NULL default 'soft',
  
bytes_in_avail int(10unsigned NOT NULL default '0',
  
bytes_out_avail int(10unsigned NOT NULL default '0',
  
bytes_xfer_avail int(10unsigned NOT NULL default '0',
  
files_in_avail int(10unsigned NOT NULL default '0',
  
files_out_avail int(10unsigned NOT NULL default '0',
  
files_xfer_avail int(10unsigned NOT NULL default '0'
  
TYPE=MyISAM

PHP код:

CREATE TABLE ftpquotatallies    (
  
name varchar(30NOT NULL default '',
  
quota_type enum('user','group','class','all'NOT NULL default 'user',
  
bytes_in_used int(10unsigned NOT NULL default '0',
  
bytes_out_used int(10unsigned NOT NULL default '0',
  
bytes_xfer_used int(10unsigned NOT NULL default '0',
  
files_in_used int(10unsigned NOT NULL default '0',
  
files_out_used int(10unsigned NOT NULL default '0',
  
files_xfer_used int(10unsigned NOT NULL default '0'
  
TYPE=MyISAM

PHP код:

CREATE TABLE ftpuser    (
  
id int(10unsigned NOT NULL auto_increment,
  
userid varchar(32NOT NULL default '',
  
passwd varchar(32NOT NULL default '',
  
uid smallint(6NOT NULL default '5500',
  
gid smallint(6NOT NULL default '5500',
  
homedir varchar(255NOT NULL default '',
  
shell varchar(16NOT NULL default '/sbin/nologin',
  
count int(11NOT NULL default '0',
  
accessed datetime NOT NULL default '0000-00-00 00:00:00',
  
modified datetime NOT NULL default '0000-00-00 00:00:00',
  
PRIMARY KEY (id),
  
UNIQUE KEY userid (userid)
  ) 
TYPE=MyISAM COMMENT='ProFTP user table'

выходим из mysql

Код:

quit;
Теперь открываем /etc/proftpd.conf и в конец файла добавлем следующие строки :

Код:

DefaultRoot ~


# The passwords in MySQL are encrypted using CRYPT
SQLAuthTypes            Plaintext Crypt
SQLAuthenticate        users* groups*


# used to connect to the database
# databasename@host database_user user_password
SQLConnectInfo  ftp@localhost proftpd password


# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
SQLUserInfo    ftpuser userid passwd uid gid homedir shell

# Here we tell ProFTPd the names of the database columns in the "grouptable"
# we want it to interact with. Again the names match with those in the db
SQLGroupInfo    ftpgroup groupname gid members

# set min UID and GID - otherwise these are 999 each
SQLMinID        500

# create a user's home directory on demand if it doesn't exist
SQLHomedirOnDemand on

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

# Update modified everytime user uploads or deletes a file
SQLLog  STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off

проверте что вы заменили строку password вашем настроящим паролем для MySQL user proftpd в линии SQLConnectInfo!

Также в /etc/proftpd.conf можно добавить вот такие строки :
из мануала

Цитата:

Martin Mrajca has sent me these lines that you can add to /etc/proftpd.conf so that Proftpd sends you a banner with used / available space after LIST:
Код:

SQLNamedQuery gettally  SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'"
SQLNamedQuery getlimit  SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'"
SQLNamedQuery getfree  SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' AND ftpquotatallies.name = '%u'"

SQLShowInfo  LIST    "226" "Used %{gettally}MB from %{getlimit}MB. You have %{getfree}MB available space."

Не забудьте перезагрузить Proftpd после добавления этих строк

Вернёмся в mysql и создадим группу и юзера в базе FTP:
Код:

mysql -u root -p
PHP код:

USE ftp;

INSERT INTO `ftpgroup`    (`groupname`, `gid`, `members`) VALUES ('ftpgroup'2001'ftpuser'); 

PHP код:

INSERT INTO `ftpquotalimits`    (`name`, `quota_type`, `per_session`, `limit_type`, `bytes_in_avail`, `bytes_out_avail`,    `bytes_xfer_avail`, `files_in_avail`, `files_out_avail`, `files_xfer_avail`)    VALUES ('exampleuser''user''true''hard'1572864000000);
  
INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`,    `count`, `accessed`, `modified`) VALUES (1'exampleuser''secret'20012001,    '/home/www.example.com''/sbin/nologin'0''''); 

выходим из mysql
Код:

quit;
Итак мы создали юзера exampleuser с паролем secret и директорией /home/www.example.com ,


http://stopxaker-com.na.by/images/con.png


здесь вы можете указать свою директорю /home/user или /www/user1/ и тд .

Заходим в phpmyadmin и может добавлять новых юзеров , выставлять квоты на размер диского пространства и тд и тп :

http://127.0.0.1/phpmyadmin/


http://stopxaker-com.na.by/images/Screenshot-1.png


Таблица ftpuser Table

* userid: имя виртального юзера Proftpd user (e.g. exampleuser).
* passwd: пароль храниться в открытом виде , это недостаток , имхо ( The unencrypted (i.e., clear-text) password of the user.)
* uid: юзер ид (The userid of the ftp user you created at the end of step two (e.g. 2001).
* gid: ид группы ( The groupid of the ftp group you created at the end of step two (e.g. 2001).
* homedir: директория виртуально юзера proftpd например /home/www.example.com


Удачной установки и настройки :) , с уважением Belfigor

источник http://www.howtoforge.com/proftpd_mysql_virtual_hosting

(c)stopxaker.ru

Dronga 24.12.2008 18:42

Цитата:

Сообщение от nerezus
Чем лучше Убунту, чем BSD
1) Нет проблем с дровами. Сейчас в *BSD такая же жопа с дровами на новое железо по отношению к линуху, какая недавно была в Linux по отнношению к винде.
2) Джава. Есть, но неофициально и не поддерживается саном.
3) Многово софта нет под фряху. Те же всякие ЗендСтудио и т.д.
4) И это не говоря о серверном сегменте: попробуйте поднять Oracle на FreeBSD )

Вынужден не согласиться и признать идейную правоту за Useroff потому как всё выше процитированное не имеет отношения к продакшн серверам и к Ubuntu в частности. Всё выше сказанное однозначно относится исключительно к сравнению FreeBSD с Sun OpenSolaris, а не с Ubuntu. OpenSolaris и Ubuntu конечно похожи, но не настолько, я бы даже сказал, похожи чисто внешне. Идейно OpenSolaris = (Ubuntu + FreeBSD) + Sun Creative. Отмечу, что Sun OpenSolaris в серверном сегменте на сегодня практически не представлен несмотря на всё моё уважение к этой компании и мощности её разработок. Стараются, но коньюктура очень высокая, а система совсем молодая.

Думаю, нерезус в курсе про драйвера которые Sun бесплатно и в очень короткие сроки напишет под любую железку, но только под OpenSolaris (welcome to developers.sun.com или developers.sun.ru). Вряд ли это решение (этот свежеиспченный драйвер) пойдет в продакшн потому как вся система experimental и вопросы совместимости никто не отменял. Про Oracle и Ubuntu тоже наверное не будем ;) Это также как Oracle и FreeBSD. Зато Solaris и Oracle тандем отличный, питерский МТС доволен.

Поэтому, расставлю точки над i в рассматриваемой ситуации и контексте статьи.

Требуется веб-сервер: Apache, PHP, MySQL, Proftpd.

FreeBSD на сервер. Ubuntu с её драйверами (особенно Wi-Fi), иксами, кучей самонастраиваемых не серверных (читай юзерских) сервисов, автоматическим распознаванием ресурсов доменной сети MS Windows, а соотвественно и предоставлением своих ресурсов (особенно непонятно), sudo, непомерным разжирением с "эволюцией" дистрибутива (сравните не столь давнюю 5x c нынешним 8x, а что такого существенного появилось??), поддержкой явы и автоматическим обновлением на десктоп. OpenSolaris нерезусу и любому другому разработчику софта, особенно в Java части (SunStudio, кстати, тоже "проприетарная" и платная). Теперь все на местах.

По статье. "Совершенный Сервер" (СС прям какой-то =) звучит просто смешно. Нет таких.
Цитата:

Сообщение от Автор статьи
То что статья называеться "Совершенный сервер на Ubuntu 8.10" это не я придумал , это перевод "The Perfect Server - (Ubuntu 8.10)" можешь сходить на офсайт и разрулить эту тему там ;)

Вдвойне смешно, потому как perfect != совершенный (x2 в общем контексте статьи)

Если не придираться к названию, то в статье есть всего один интересный момент (но не актуальный для меня, решил проблему по-другому). Выбор/установка/комбинации софта вызывают легкое раздражение. А самые интересные моменты "совершенствования сервера" прикрыты установкой панели ISPConfig. Так проще, но ведь проблемы остались. Как раз те самые проблемы, которые являются общими для всех серверов, с любой архитектурой/платформой/операционной системой. Сервер с установкой панели идеальными не стал. Ждём статьи Совершенная Панель ISPConfig. В общем, тема не раскрыта вообще, долой популизм и ширпотреб. Может правда под OpenSolaris статью перепишешь? Там весь веб-стек одной командой ставится в готовой связке (включая squid), вот те и совершенный сервер, нах настраивать? :D

pithagora 23.04.2009 14:47

Free BSD на продакшен сервере работает стабильно, как и остальные BSD системы. Поднять на ней графический интерфейс с наворотами тоже не трудно. Несовместимости с некоторыми устройствами некоторых компаний существует. Но главное что знаменитые компании заботятся о том чтобы ихнии устройства работали стабильно и на Free BSD. Без фанатизма, я уверен что Free BSD на сервере намного лучше чем Ubuntu, и на это есть причины.

X-3 23.04.2009 18:26

Одна из этих причин - меньше жрет ресурсов.
Вторая - нужные драйвера именно для сервера (читай - для основных устройств) - работают СТАБИЛЬНО, а за скоростью (читай - невнимательностью к стабильной работе) FreeBSD не гонится. Очень интересно обсудить Raid'ы в линуксах :))
Третья - Oracle поднимается в режиме Linux-compatibility (замерьте скорость работы).
Четвертая - какое "обилие софта" необходимо серверу? Это с рабочей станцией перепутали.
Пятая - про Wi-Fi на сервере улыбнуло.

P.S.
Про "совершенство графического интерфейса сервера и поддержки необходимого юзерам софта и драйверов:
Как там было: "Первая причина - это ты... а вторая - все твои мечты..."

Николаев был админом, видимо ;)

stopxaker 23.04.2009 18:58

Спасибо , что ещё есть люди которые читают мои статьи и им это интересно , пусть будет даже холивар , но это лучше чем обсуждать темы про ВК и прочую хрень ! :)

по сабжу , когда я начал переводить первую часть этой статьи , меня тоже терзали смутные сомнения , Ubuntu Server или FreeBSD , вот в чём вопрос ! я не буду сейчас вдаваться в дебри , скажу одно , я одинаково люблю как , Убунту , так и ФРяху , но допустим компиляция обычного Apache+Nginx+mysql+Samba и etc , у меня заняла 4 часа , хотя в тоже время на Ubuntu server ушло меньше 30 минут , далее некоторые начинаю крик мол Убунта сакс , лучше Debian , а какая разница ??? что UBuntu Server , что Debian - сорри за сравнение , тот же хер только в другой руке !
Да конечно когда есть время суток двое , трое то можно на сервак и FreeBSD поставить не спорю , попить пивка , поспать , глядишь к утру всё собирётся ;)

скажу одно , каждая ОС имет право на хард !

Кстати сегодня праздник вышла Ubuntu 9.04 и уже доступна для скачивания от сюда http://www.ubuntu.com/getubuntu/download-server

и я дописал третью часть про Ubuntu Server

Цитата:

Сообщение от Dronga
. Ждём статьи Совершенная Панель ISPConfig. В общем, тема не раскрыта вообще, долой популизм и ширпотреб.

как раз именно про это !


вообщем кому интересно тут три части http://stopxaker.ru/forumdisplay.php?f=4

с уважением ко всем Stopxaker_aka_Belfigor :)

X-3 23.04.2009 19:17

stopxaker
А в убунту сервере софт ставится как пакет? Если да, тогда понятна скорость "компиляции".

Офф: как-то я поставил кеды на FreeBSD из портов. Сутки компилилось где-то. После этого понял, зачем пакеты во Фряхе :))

pithagora 24.04.2009 01:13

А я юзал в свое время Линуксы типа Ubuntu, Debian, Fedora, Centos, Open Suse, Red Hat server ну и BSD - Free, Open, Net, DragonFly...Из всех больше всего по душе да и вообше нормально строенная ос это Free BSD. Просто нравится что обеденяет в себе столько достоенств - надежная из коробке (а если руки растут правельно, можно так настроить что даже самые одаренные хакеры не порвут), надежная провереная временем система портов, и cvs - эти версии програм уже много лет проверены, так что мала вероятность что найдутся еще баги. Да и логика строении системы тоже нравится - очень понятная.

Linux007 30.06.2009 10:40

добрый день Господа. у меня вот какая проблема.... я админ сайта...очень важного и дорогостоящего проекта. я всего лишь новичок в линуксе и им подобных.....почти год как начал интересоваться *ксами. ушел с винды потому что она не ненадежна если дело доходит до серьезных вещей и подумал что уже пора "взрослеть" :)
так вот........когда выбирал хостинг, (из за незнания) выбрал VPS хост с УбунтуСервер вместо "панели управления". Думал, если на компе могу им управлять смогу и эту осилить. но не тут то было. оказывается ее нужно настраивать.... и понял что линуксовый ламер ее не осилит. ребята, очень нужна помощь. решать за меня проблемы не прошу, но хочу попросить знающего указать ссылки или еще лучше написать как ее настроить на оптимальный уровень защиты от начала до конца. Сайт не открыт... заполняем его материалом. но все функционирует как надо при открытии сайта. (или я ошибаюсь).

хостер сделал все по умолчанию. сколько дней гуляю по гугли ничего не могу найти.

благодарю всех линуксоидов заранее........

POS_troi 30.06.2009 11:05

Скинь асику в ПМ. Вечером постараюсь помочь.

А вообще при таких случаях неплохо бы описывать сервисах которые предполагают там жить =)

P.S. Идеальных серверов не бывает! 100% - нонсенс ;)

Linux007 30.06.2009 11:11

Цитата:

Сообщение от POS_troi
Скинь асику в ПМ. Вечером постараюсь помочь.

А вообще при таких случаях неплохо бы описывать сервисах которые предполагают там жить =)

P.S. Идеальных серверов не бывает! 100% - нонсенс ;)

брат... :) извеняюсь, я в жаргоне не силен. что значит "скинь асику в ПМ"?

POS_troi 30.06.2009 11:25

=)

Номер ICQ в Персональные сообщения =)

https://forum.antichat.ru/private.php?do=newpm&userid=30086

X-3 01.07.2009 20:00

ОФФ: жесть.

P.S. Видимо, следует читать как "в инете не силен но выдержал суточную регистрацию на ачате"

splavv 17.07.2009 12:48

Доброго времени суток, пытаюсь осилить линукс но что-то у меня это не выходит. Дело вот в чем, установил ubuntu server, прописал ip и маску но в сети не виден. Сеть одноранговая. И еще одно как прописать прописать адрес и порт прокси-сервера, так как интернет раздается через него. Буду очень признателен в помощи.

X-3 20.07.2009 15:01

1) ЕСЛИ ("Не виден в сети" == "не могу зайти в файловую систему Убунту из Винды" ) юзай Samba;
ИНАЧЕ ЕСЛИ ("Не виден в сети" == "не пингуется хост" ) запости чем прописывал и как.

2) Для прописывания данных прокси-сервера юзай настройки конкретного приложения, например, для серфинга через прокси открой настройки соединения в браузере.


Время: 19:15