Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [FAQ] LAMP сервер на базе 8,04 LTS Ubuntu Server и др.  (Прочитано 161361 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн victor53p

  • Автор темы
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 300
    • Просмотр профиля
    • Ubuntu в Воронежской области
LAMP сервер на базе 8,04 LTS Ubuntu Server
предлагается использовать установочный диск- ubuntu-8.04-server
И следующее дополнительное программное обеспечение:

    * Web сервер: Apache 2.2 вместе с PHP 5.2.4 и Ruby
    * Сервер базы данных: MySQL 5.0
    * FTP сервер: proftpd
    * Webalizer- пакет для сбора статистики вашего web сайта
    * Webmin_1.410-  для управления сервером через web интерфейс

последний загрузим с  офсайта:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.410_all.debустановим:
dpkg -i webmin_1.410_all.debподправим зависимости:
apt-get -f install
Примечание: Можно установить птичку LAMP при установке дистрибутива, но я люблю делать такие вещи осмысленно и под контролем.

Первый шаг или самое главное:
Устанавливаем Ubuntu 8.04 LTS server CD, дистрибутив которого, можно загрузить здесь:
 ftp://releases.ubuntu.com/releases/hardy/ubuntu-8.04.2-server-i386.iso

Установка проходит графическом режиме, и достаточно проста.
После перезагрузки, активизируем пользователя root, запускаем команду (после ввода команды- нажимаем Enter):

sudo passwd root
Вводим пароль для пользователя root, а затем команду su, чтобы дальнейшие операции совершать под ним.  

suНатраиваем сетевые карты сервера, редактируя файл /etc/network/interfaces:

nano -w  /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.10
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1

Перезапускаем нашу сеть:

/etc/init.d/networking restart
Редактируем имя нашего сервера:

nano  -w  /etc/hosts
Пример:

127.0.0.1       localhost.localdomain   localhost
192.168.1.10   server.home.net     server

# The following lines are desirable for IPv6 capable hosts
::1     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 server.home.net > /etc/hostname
/etc/init.d/hostname.sh start

проверяем, что получилось:

hostname
hostname -f

Если вы увидели надписи на экране server.home.net, то продолжаем.

Далее мы редактируем лист со списком необходимых нам репозитариев:

nano  -w  /etc/apt/sources.list
Содержимое этого файла- список адресов смотрите ниже:

#
# deb cdrom:[Ubuntu-Server 8.04 _Hardy Heron_ - Release i386 (20080423.2)]/ hardy main restricted

#deb cdrom:[Ubuntu-Server 8.04 _Hardy Heron_ - Release i386 (20080423.2)]/ hardy 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/ hardy main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy main restricted

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

## 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
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://de.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy universe
deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-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/ hardy multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-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/ hardy-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-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 hardy partner
# deb-src http://archive.canonical.com/ubuntu hardy partner

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

Далее с целью обновления базы данных доступных в репозитарих пакетов, запускаем команду:

apt-get update
И с целью обновления уже устанавленных пакетов ещё одну:

apt-get upgrade
Проверяем не забыли ли мы устанавить SSH сервер, что я обычно делаю опционально, при установке дистрибутива в окне выбор софта.

apt-get install ssh openssh-server
Затем устанавливаем пакеты для Mysql сервера:

apt-get install mysql-server mysql-client libmysqlclient15-dev
По ходу установки вводим пароль пользователя сервера Mysql (root): в этой версии 2 раза, второй раз для проверки правильности.

New password for the MySQL "root" user: <-- yourrootsqlpassword ВАШ ПАРОЛЬ
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword ЕЩЕ РАЗ ВАШ ПАРОЛЬ

Перезагрузим его (сервер MySQL):

/etc/init.d/mysql restart
То же самое для сервера Apashe:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
Устанавливаем пакеты PHP:

apt-get install libapache2-mod-php5 libapache2-mod-ruby 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
Расширим диапазон запускаемых файлов, для чего подредактируем файл dir.conf, с помощью редактора nano:

nano -w /etc/apache2/mods-available/dir.conf
Пример как надо сделать, находится ниже:
<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>

Запускаем необходимые модули:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Перезагружаем сервер Apashe:

/etc/init.d/apache2 force-reload
Можно при необходимости установить FTP сервер:

apt-get install proftpd ucf
При появлении надписи:

Run proftpd: <-- standalone (самостоятельно)

Нажимаем OK

Для безопасности подправим конфигурационный файл FTP сервера:

nano  -w  /etc/proftpd/proftpd.conf
Пример:

[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

Для сбора статистики вашего web сайта, можно установить пакетwebalizer
apt-get install webalizer
Для синхронизации системных часов с серверами в Интернете ставим следующие пакеты:

apt-get install ntp ntpdate
Для управления через web интерфейс, как писал выше, загружаем и ставим пакет webmin:

http://sourceforge.net/project/downloading.php?groupname=webadmin&filename=webmin_1.410_all.deb&use_mirror=garr

apt-get install webmin_1.410_all.deb
При необходимости пакет phpmyadmin для управления базами mysql через web интерфейс:

apt-get install phpmyadmin
Файловый менеджер MC:

apt-get install mc
и если вы установили русский язык то и этот пакет:

apt-get install console-cyrillic
И для всяких нужд (сборки пакетов и других возможных работ), можно установить дополнительное программное обеспечение:

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
В принципе, этого всего мне хватает, чтобы установить и проверить работоспособность кучи софта: форумов, сайтов, CRM и прочая, прочая......

P.S. у известных авторов подобных статей, которая появилась буквально сегодня:
http://howtoforge.com/perfect-server-ubuntu8.04-lts
есть мнение, что  паект AppArmor, подменящий в какой то мере пакет SELinux, вызывает непредсказуемые ошибки при установке серезных PHP и др. приложений, поэтому предлагают его выключить следующими командами:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
Пока все. ;)
Да все это у меня полмесяца, уже работает без проблем! :D

И как я рекомендую начинающим, ВСЕ это можно установить на рабочей десктопной машине, т.е.с X -ми вместе!  Можно так же загрузить и серверное ядро, хотя и так все будет работать.
Правда, компиз при этом ядре у Вас перестанет работать, но изучать сервер вы можете без проблем:

apt-get install linux-server установка серверного ядра (если для дома и для изучения, то не обязательно).
« Последнее редактирование: 01 Март 2011, 20:58:37 от stmc »

Оффлайн volhovec

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #1 : 26 Апрель 2008, 23:29:40 »
а как этот пресловутый вэбадмин открыть то.)

Оффлайн vazik

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #2 : 27 Апрель 2008, 15:57:06 »
чем серверное ядро от десктопного отличается?
про ядро бред имхо, зачем устанавливать серверное если можно грамотно настроить уже установленное

Оффлайн victor53p

  • Автор темы
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 300
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #3 : 27 Апрель 2008, 18:45:00 »
2 volhovec
В конце установки пакета появляется такая надпись:
Распаковывается пакет webmin (из файла .../webmin_1.410_all.deb)...
Настраивается пакет webmin (1.410) ...
Webmin install complete. You can now login to https://victor-home:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
или
https://localhost:10000/
согласиться с сертификатом, зайти под root  и затем в настройках поставить русский язык. Потом изучать и работать.
2 vazik
Подправил свою мысль про серверное ядро.

« Последнее редактирование: 27 Апрель 2008, 18:49:16 от victor53p »

Оффлайн brand2000

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #4 : 28 Апрель 2008, 11:10:03 »
автору низкий поклон! огромное спасибо!

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1292
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #5 : 28 Апрель 2008, 16:36:00 »
внес в свой список howto. Спасибо.
"*nix нужен в первую очередь тем, кто сам МОЖЕТ, и самое главное ХОЧЕТ думать" (с)mechanic

Оффлайн VasiliyA

  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #6 : 28 Апрель 2008, 17:05:37 »
Спасибо большое. Вот бы еще подробный мануал по nginx  ;) кто написал..... Мне мускуль не нужен лично, а серверок п2, апач однако тяжеловат.....

PS: А почему в sources.list немецкие зеркала указаны? Для нас как то логичнее с русскими  :idiot2:

Оффлайн polyak

  • Активист
  • *
  • Сообщений: 288
  • 726f6f745f75
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #7 : 28 Апрель 2008, 17:15:01 »
PS: А почему в sources.list немецкие зеркала указаны? Для нас как то логичнее с русскими  :idiot2:
живу в питере, на разных провайдерах самые быстрые как правило финские серваки а не русские
726f6f745f75

Оффлайн VasiliyA

  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #8 : 28 Апрель 2008, 17:59:05 »
А финские это с каким префиксом?

Я живу в Вологде, инет у нас через вас  ;) Надо попробовать.

Оффлайн ceval

  • Активист
  • *
  • Сообщений: 778
  • Минск, Беларусь
    • Просмотр профиля
    • On-line журнал o Linux
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #9 : 28 Апрель 2008, 18:23:54 »
Внису  свои пять копЕЕк - расширю немного про конфиг FTP сервера- proftp  - /etc/proftpd/proftpd.conf


#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 off

# Имя сервера
ServerName "MY FTP"
#Как запускается (в нашем случае через standalone)
ServerType standalone
#не показывать версию сервера ServerIdent  off
# но можно что-то всое
ServerIdent on               "FTP Server ceval"
DeferWelcome off
MultilineRFC2228                 on
DefaultServer on
ShowSymlinks on

# сек; никаких действий после входа
TimeoutIdle 300
# сек; отводится на авторизацию)
TimeoutLogin 120
# сек; вошел, но не начал передачу)
TimeoutNoTransfer 600
# максимальная длительность сессии; по умолчанию - 0 (бесконечность)
TimeoutSession 900
#сек; замирание во время пересылки файла
TimeoutStalled  900       
# Вывод сообщений при входе
DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                "-l"
# запрещаем шаблон *.*
DenyFilter \*.*/
# запираем в свсоих домашних каталогах, после ! имеют доступ ко всему
DefaultRoot ~
# не всем, имеющим доступ к ftp, нужен shell
RequireValidShell               no   
# стандартный порт
Port 21 
# ~ максимальное число одновременно запускаемых процессов в режиме standalone
MaxInstances 15   


# Пользователь и группа, под которой работает демон
#User nobody # uid/gid по умолчанию с ничтожными правами
User nobody   
Group nogroup

# Маска для ограничения создания директорий и файлов
Umask 022

#разрешить перезаписывать существующие файлы
AllowOverwrite on

# Ограничение трафика. В данном случае мы ограничиваем закачку и скачивание всем пользователям на 50k кроме рута
TransferRate RETR,STOR,APPE 50 user !root

# Логи
# %t - локальное время, %h - DNS имя клиента, %a - IP адрес клиента,
# %s - числовой код ответа сервера, %m - имя команды, полученной от клиента
# %f - абсолютное имя файла, %b - отправленных байтов, %T - число секунд, потраченных на передачу
# %r - текст командной строки
LogFormat default "%t %h %a %s %m %f %b %T \"%r"\"   
ExtendedLog     /var/log/proftp/extended.log     ALL default
SystemLog    /var/log/proftp/system.log     ALL default
TransferLog    /var/log/proftp/transfer.log     ALL default

CharsetLocal UTF-8
CharsetRemote CP1251

# Включаем докачку
# AllowRetrieveRestart - для загрузок с сервера (по умолчанию и так включено)
# AllowStoreRestart - для докачки файлов на сервер
# HiddenStor позволяет включить режим, когда недокаченные файлы имеют являются скрытыми.
#Это полезно при совместной работе и файлы становятся видимыми только после их полной закачки на сервер
#HiddenStor on|off

<IfModule mod_tls.c>
TLSEngine off
</IfModule>

<IfModule mod_quota.c>
QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
Ratios on
</IfModule>

# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>

# Открываем доступ анонимным пользователям
 <Anonymous ~ftp>  #директория-свободного-доступа
   User ftp
   Group nogroup
   UserAlias anonymous ftp
# Ограничения по анонимным клиентам (anonymous logins)
  MaxClients                   5
  MaxClientsPerHost            2 "Sorry, You can't connect more than TWO times from ONE host"
  DisplayFirstChdir .message
# ананимам записи нет
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

Кое что из основного я пометил в конфиге, а более детальную информацию можно получить здесь :ProFTPD Configuration Directives, а так же Google.com ни кто ни отменял :)

для управления можно поставить GUI - gproftpd

так же консольные команды:
ftpcount - показывает число соединений в настоящий момент (с разбивкой по виртуальным хостам).
ftpwho - показывает информацию о каждом текущем соединении (--verbose показывает также текущую рабочую директорию).
ftptop - аналог программы top для процессов ProFTPD.
« Последнее редактирование: 07 Май 2008, 13:06:41 от ceval »

Оффлайн volhovec

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #10 : 28 Апрель 2008, 19:04:50 »
2 victor53p, спасибо
а порт поправить ему нельзя?
а то зенд материться что каждый раз что 10000 порт занят

Оффлайн polyak

  • Активист
  • *
  • Сообщений: 288
  • 726f6f745f75
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #11 : 28 Апрель 2008, 20:04:08 »
А финские это с каким префиксом?
Я живу в Вологде, инет у нас через вас  ;) Надо попробовать.
сегодня - этот deb http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/ hardy universe  самый быстрый))
а вообще там в "источниках приложений" есть же кнопочка "выбрать самый быстрый сервак"
хотя.. не думаю что это в Вологде очень актуально.. вот у мну на работе, с 20Мбитным каналом - актуально))))
726f6f745f75

Оффлайн VasiliyA

  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #12 : 28 Апрель 2008, 20:52:41 »
Ага особенно хорошо тыкать по кнопочкам, када иксов нет в природе..... ssh однако, сервер же.

Оффлайн Groco

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #13 : 28 Апрель 2008, 21:12:09 »
Спасибо за инструкцию, настроил по ней серрвер на декстопе, все работает как часики.

Единственное что я так и не понял, это как пользоваться webmin, установил посмотрел на него, куча опций и настроек, но трогать их страшно  ;D

Оффлайн ceval

  • Активист
  • *
  • Сообщений: 778
  • Минск, Беларусь
    • Просмотр профиля
    • On-line журнал o Linux
Re: LAMP сервер на базе 8,04 LTS Ubuntu Server и др.
« Ответ #14 : 29 Апрель 2008, 09:17:12 »
Спасибо за инструкцию, настроил по ней серрвер на декстопе, все работает как часики.

Единственное что я так и не понял, это как пользоваться webmin, установил посмотрел на него, куча опций и настроек, но трогать их страшно  ;D

 а чего бояться все равно это у тебя тестовый (сервер на декстопе) сервак - как говориться  " пока сам руками ни потрогаю тело ни поверю " :)

 

Страница сгенерирована за 0.28 секунд. Запросов: 25.