LAMP Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:lamp [2011/11/27 22:35]
[Первый шаг или самое главное]
wiki:lamp [2018/01/17 18:29] (текущий)
[Версии Apache, MySQL и PHP в Ubuntu] новая версия убунты
Строка 1: Строка 1:
-====== LAMP сервер на базе Ubuntu ​======+====== LAMP ======
  
-Простейший способ установки LAMP сервера на Ubuntu Server ​заключается в выполнении команды:+LAMP — акроним, обозначающий ​набор (комплекс) серверного программного обеспечения. LAMP назван по первым буквам входящих в его состав компонентов (**L**inux-**A**pache-**M**ySQL-**P**HP), ​который включает в себя Linux, [[apache2|Apache]],​ [[MySQL]] и [[PHP]].
  
-  sudo tasksel install lamp-server +===== Версии ​ApacheMySQL и PHP в Ubuntu =====
-  +
-Этак команда автоматически поставит все необходимые компонентыто есть веб-вервер Apache с mod_php ​и Mysql сервер для базы данных.+
  
-<note important>​FIXME Нужно нормальное описание установки отдельными пакетами и базовой настройки ​(активации mod_rewriteнастройки mod_php, установки и настройки mod_perl, установки phpmyadmin и т.д.</​note>​+^ Ubuntu ^ Apache ^ MySQL ^ PHP ^ 
 +| 12.04 LTS (Precise) | 2.2 | 5.5 | 5.3 | 
 +| 14.04 LTS (Trusty) | 2.4 | 5.55.6 | 5.5 | 
 +| 16.04 LTS (Xenial) | 2.4 | 5.7 | 7.0 | 
 +| 17.10 (Artful) ​       | 2.4.27 ​       | 5.7.20        | 7.1   |
  
-----+===== Установка ===== 
 +LAMP можно установить при помощи [[https://​help.ubuntu.com/​community/​Tasksel|Tasksel]](англ.). Для этого необходимо выполнить команду:​ 
 +<​code=bash>​sudo tasksel install lamp-server</​code>​ 
 +При установке будет запрошен пароль для создания администратора БД MySQL.
  
-<note warning>​Почему только 8.04 и вообще, хотелось бы общую ​статью со ссылками на частности по конкретным компонентам</note>+===== Удаление ===== 
 +Для ​удаления LAMP вам необходимо ввести в терминале следующее: 
 +<code bash>​sudo tasksel remove lamp-server</code>
  
-<note warning>​Статью ​надо конкретно так подправить, написан во многих ​местах если не полный, то просто бред</note>+===== Управление запуском LAMP ===== 
 +Если вы не хотитечтобы демоны Apache и MySQL запускались при загрузке компьютера вы можете ​отключить их. 
 +=== Apache === 
 +Для ​отключения: 
 +<​code=bash>​sudo update-rc.d -f apache2 disable</​code>​ 
 +Для запуска вручную:​ 
 +<​code=bash>​sudo service apache2 start</code>
  
-<​note>​Вообще говоря,​ установка LAMP сервера на базе ​любой версии ubuntu выполняется одной ​командой+=== MySQL === 
-<​code>​sudo ​tasksel install lamp-server</code+Для ​отключения: 
-</note>+<code bash>​echo "​manual"​ | sudo tee -a /​etc/​init/​mysql.override</​code>​ 
 +Для запуска ​вручную
 +<​code ​bash>​sudo ​service mysql start</​code>​
  
-Предлагается использовать установочный диск- ubuntu-8.04-server+===== Настройка компонентов LAMP ===== 
 +Подробно о настройке частей LAMP можно ​прочитать в соответствующих статьях:​ 
 +  * [[Apache2|Apache]] 
 +  * [[MySQL]] 
 +  * [[PHP]]
  
-И следующее дополнительное программное обеспечение:+===== Смотрите ​также ===== 
 +  * [[XAMPP]]
  
-    * Web сервер: Apache 2.2 вместе с PHP 5.2.4 и Ruby +===== Ссылки ===== 
-    Сервер базы данныхMySQL 5.0 +  [[http://​forum.ubuntu.ru/​index.php?​topic=52552.0|Обсуждение статьи на форуме]] 
-    * FTP сервер: proftpd +  * [[https://​help.ubuntu.com/​community/​ApacheMySQLPHP|Статья на Ubuntu Wiki]] (англ.) 
-    * Webalizer- пакет для сбора ​статистики вашего web сайта +  [[wpru>​LAMP|Статья на Wikipedia]]
-    Webmin_1.410- ​ для управления сервером через web интерфейс+
  
- +{{tag>Администрирование ​apache ​php mysql lamp сервер}}
- +
-Примечание:​ Можно установить птичку LAMP при установке дистрибутива,​ но я люблю делать такие вещи осмысленно и под контролем. +
- +
-===== Первый шаг или самое главное ===== +
-  +
-Устанавливаем Ubuntu 8.04 LTS server CD, дистрибутив которого,​ можно загрузить здесь:​ +
- +
- ​ftp://​releases.ubuntu.com/​releases/​hardy/​ubuntu-8.04.3-server-i386.iso +
- +
-Установка проходит в графическом режиме,​ и достаточно проста. +
-После перезагрузки,​ активизируем пользователя root, запускаем команду (после ввода команды- нажимаем Enter):  +
- +
-<code>sudo passwd root</​code>​ +
- +
-Вводим пароль для пользователя **root**, а затем команду su, чтобы дальнейшие операции совершать под ​ним.   +
- +
-<​code>​su</​code>​ +
- +
-Настраиваем сетевые карты сервера,​ редактируя файл /​etc/​network/​interfaces:​ +
- +
-<​code>​nano /​etc/​network/​interfaces</​code>​ +
- +
-Смотрим содержание файла ниже (у вас адреса могут быть свои) +
- +
-<​file>#​ 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</​file>​ +
- +
-Перезапускаем ​нашу сеть: +
- +
-<​code>/​etc/​init.d/​networking restart</​code>​ +
- +
-Редактируем имя нашего сервера:​ +
- +
-<​code>​nano /​etc/​hosts</​code>​ +
- +
-Пример:​ +
- +
-<​file>​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</​file>​ +
- +
-Далее выполняем команды:​ +
- +
-<​code>​echo server.home.net > /​etc/​hostname +
-/​etc/​init.d/​hostname.sh start</​code>​ +
- +
-проверяем,​ что получилось:​ +
- +
-<​code>​hostname +
-hostname -f</​code>​ +
- +
-Если вы увидели надписи на экране server.home.net,​ то продолжаем. +
- +
-Далее мы редактируем лист со списком необходимых нам репозитариев:​ +
- +
-<​code>​nano /​etc/​apt/​sources.list</​code>​ +
- +
-Содержимое этого файла- список адресов смотрите ниже: +
-<​file>​ +
-+
-# 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</​file>​ +
- +
-Примечание:​ Я испоьзовал сервер из германии,​ т. к. он в моем городе самый быстрый,​ Вы можете использовать свой. +
- +
-Далее с целью обновления базы данных доступных в репозитарих пакетов,​ запускаем команду:​ +
- +
-<​code>​apt-get update</​code>​ +
- +
-И с целью обновления уже устанавленных пакетов ещё одну: +
- +
-<​code>​apt-get upgrade</​code>​ +
- +
-Проверяем не забыли ли мы устанавить SSH сервер,​ что я обычно делаю опционально,​ при установке дистрибутива в окне выбор софта. +
- +
-<​code>​apt-get install ssh openssh-server</​code>​ +
- +
-Затем устанавливаем пакеты для Mysql сервера:​ +
- +
-<​code>​apt-get install mysql-server mysql-client libmysqlclient15-dev</​code>​ +
- +
-По ходу установки вводим пароль пользователя сервера Mysql (root): в этой версии 2 раза, второй раз для проверки правильности. +
- +
-<​file>​New password for the MySQL "​root"​ user: <-- yourrootsqlpassword +
- +
-Repeat password for the MySQL "​root"​ user: <-- yourrootsqlpassword</​file>​ +
- +
-Перезагрузим его (сервер MySQL): +
- +
-<​code>/​etc/​init.d/​mysql restart</​code>​ +
- +
-Если Вы хотиеу,​ чтобы MySQL мог слушать на всех интерфейсах,​ а не только с локального,​ вы можете отредактировать файл /​etc/​mysql/​my.cnf и закоментировать строку bind-address = 127.0.0.1:​ +
- +
-<​code>​nano /​etc/​mysql/​my.cnf</​code>​ +
- +
-<​file>​[...] +
-# Instead of skip-networking the default is now to listen only on +
-# localhost which is more compatible and is not less secure. +
-#​bind-address +
-[...]</​file>​ +
- +
-Перестартуем MySQL: +
- +
-<​code>/​etc/​init.d/​mysql restart</​code>​ +
- +
-Проверим правильность работы MySQL. Выполним команду:​ +
- +
-<​code>​netstat -tap | grep mysql</​code>​ +
- +
-На экране увидим следующее:​ +
- +
-<​file>​....:​~#​ netstat -tap | grep mysql +
-tcp        0      0 *:​mysql ​                ​*:​* ​                    ​LISTEN ​     6724/​mysqld +
-....:​~#</​file>​ +
- +
-То же самое для сервера Apache: +
- +
-<​code>​apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert</​code>​ +
- +
-Устанавливаем пакеты PHP: +
- +
-<​code>​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</​code>​ +
- +
-Расширим диапазон запускаемых файлов,​ для чего подредактируем файл dir.conf, с помощью редактора nano: +
- +
-<​code>​nano -w /​etc/​apache2/​mods-available/​dir.conf</​code>​ +
- +
-Пример как надо сделать,​ находится ниже: +
- +
-<​file><​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></​file>​ +
- +
-Запускаем необходимые модули:​ +
- +
-<​code>​a2enmod ssl +
-a2enmod rewrite +
-a2enmod suexec +
-a2enmod include</​code>​ +
- +
-Перезагружаем ​сервер ​Apache: +
- +
-<​code>/​etc/​init.d/​apache2 force-reload</​code>​ +
- +
-все перечисленные пакеты можно установить одной строкой:​ +
- +
-<​code>​apt-get install ssh openssh-server vim-nox apache2 apache2-doc +
-apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert +
-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 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 bind9 +
-mysql-server mysql-client libmysqlclient15-dev phpmyadmin mysql-admin +
-libapache2-mod-auth-mysql mysql-query-browser php-image-graph imagemagick alien</​code>​ +
- +
-Если есть необходимость можно установить FTP сервер:​ +
- +
-<​code>​apt-get install proftpd ucf</​code>​ +
- +
-При появлении надписи:​ +
- +
-<​file>​Run proftpd: <-- standalone (самостоятельно)</​file>​ +
- +
-Нажимаем <​key>​OK</​key>​ +
- +
-Для безопасности подправим конфигурационный файл FTP сервера:​ +
- +
-<​code>​nano -w /​etc/​proftpd/​proftpd.conf</​code>​ +
- +
-Пример:​ +
-<​file>​ +
-[...] +
-DefaultRoot ~ +
-IdentLookups off +
-ServerIdent on "FTP Server ready."​ +
-[...]</​file>​ +
- +
-Для сбора статистики вашего web сайта, можно установить пакет webalizer:​ +
- +
-<​code>​apt-get install webalizer</​code>​ +
- +
-Для синхронизации системных часов с серверами в Интернете ставим следующие пакеты:​ +
- +
-<​code>​apt-get install ntp ntpdate</​code>​ +
- +
-Для управления через web интерфейс,​ как писал выше, загружаем и ставим пакет webmin: +
- +
-1. Добавляем в файл /​etc/​apt/​sources.list ​ строку +
-<​code>​deb http://​download.webmin.com/​download/​repository sarge contrib</​code>​ +
-2. скачиваем ключ +
-<​code>​wget http://​www.webmin.com/​jcameron-key.asc</​code>​ +
-3. Устанавливаем ключ +
-<​code>​apt-key add jcameron-key.asc</​code>​ +
-4. Обновляемся +
-<​code>​apt-get update</​code>​ +
-5. Устанавливаем +
-<​code>​apt-get install webmin</​code>​ +
-После этих действий webmin работает на <​code>​https://​имя_вашего_ходста_или_его_ip:​10000</​code>​ +
- +
- +
-При необходимости пакет phpmyadmin для управления базами mysql через web интерфейс:​ +
- +
-<​code>​apt-get install phpmyadmin</​code>​ +
- +
-Файловый менеджер MC: +
- +
-<​code>​apt-get install mc</​code>​ +
- +
-и если вы установили русский язык то и этот пакет:​ +
- +
-<​code>​apt-get install console-cyrillic</​code>​ +
- +
- +
-И для всяких нужд (сборки пакетов и других возможных работ),​ можно установить дополнительное программное обеспечение:​ +
- +
-<​code>​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</​code>​ +
- +
-В принципе,​ этого всего мне хватает,​ чтобы установить и проверить работоспособность кучи софта: форумов,​ сайтов,​ CRM и прочая,​ прочая......  +
- +
-Если вы хотите,​ чтобы ваш Web узел отправлял свои сообщения на ваш почтовый ящик, то просто поставьте пакет postfix. +
- +
-<​code>​apt-get install postfix</​code>​ +
- +
-Если в будующем планируете установить свой почтовый сервер то поставьте следующие пакеты:​ +
- +
-<​code>​apt-get install bsd-mailx dovecot-common dovecot-imapd dovecot-pop3d landscape-common mailx mutt postfix procmail</​code>​ +
- +
-P.S. у известных авторов подобных статей,​ которая появилась буквально сегодня:​ +
- +
-http://​howtoforge.com/​perfect-server-ubuntu8.04-lts +
- +
-есть мнение,​ что ​ пакет AppArmor, подменяющий в какой то мере пакет SELinux, вызывает непредсказуемые ошибки при установке серезных PHP и др. приложений,​ поэтому предлагают его выключить следующими командами:​ +
- +
-<​code>/​etc/​init.d/​apparmor stop +
-update-rc.d -f apparmor remove</​code>​ +
-и удаляем эти пакеты:​ +
-<​code>​apt-get remove apparmor apparmor-utils</​code>​ +
- +
-Пока все. :-D +
- +
-Да все это у меня полмесяца,​ уже работает без проблем! :-O +
- +
-И как я рекомендую начинающим,​ ВСЕ это можно установить на рабочей десктопной машине,​ т.е.с X -ми вместе! +
- +
-Можно так же загрузить и серверное ядро, хотя и так все будет работать. +
- +
-Правда,​ компиз при этом ядре у Вас перестанет работать,​ но изучать сервер вы можете без проблем:​ +
-Установить ядро можно с помощью команды:​ +
- +
-<​code>​apt-get install linux-server</​code>​ +
- +
-Повторюсь,​ если если для дома и для изучения,​ то не обязательно). +
- +
-===== Второй шаг: Установка FTP сервера на базе VSFTPd и MySQL в Ubuntu ===== +
- +
-<note important>​DELETEME Это тут вообще ни к месту - LAMP это не FTP</​note>​ +
- +
-Установка виртуального хоста ​ с использованием vsftpd и   MySQL в Ubuntu 8.04. +
- +
-Я уже писал про Vsftpd сервер,​ который считается одним из быстрых и хорошо защищенных FTP серверов под Линух. Обычно он устанавливается и конфигурируется под пользователей зарегистрированных в системе. +
- +
-В этом руководстве предполагается установка vsftpd сервера под виртуальных пользователей,​ зарегистрированных в MySQL базе данных,​ взамен реальных системных пользователей. +
- +
-Такое решение позволяет открыть и управлять до тысячи ftp пользователей на одном сервере. +
- +
-Управлять MySQL базой вы можете с помощью пакета phpMyAdmin. +
- +
-Он имеет достаточно удобный графический интерфейс,​ который позволяет не применять коммандную строку. +
-  +
- +
-==== 1 Введение ==== +
- +
-Использовался дистрибутив Ubuntu 8.04. +
- +
-Все пакеты взяты из штатных репозитариев. +
- +
-Отмечу,​ что как всегда я отрабатывал это руководство на локальном сервере,​ т.е. имя хоста localhost, web сервер- ​ http://​localhost или IP адрес 127.0.0.1. Вы можете применить свои установки,​ в т. ч. и реальные. +
- +
-==== 2 Установка vsftpd, MySQL и phpMyAdmin ==== +
- +
-Vsftpd собран без поддержки MySQL, по этой причине неоходимо установить пакет libpam-mysql для PAM аутентификацию в MySQL базе данных. таким образом мы должны установить следующие пакеты libpam-mysql  +
- +
-совместно с vsftpd, MySQL, и пакет phpMyAdmin:​ +
- +
-Продолжение следует........ +
- +
-{{tag>​Администрирование FIXME}}+