Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Установка LAMP на Debian кратко

Практика



Итак, у нас есть Linux Debian (в нашем примере - это 6.0 Squeeze). На нем изначально не стоит ни MySQL, ни Apache, ни PHP. А нам надо, чтобы стояло.

Давайте реализуем это.


MySQL

Сначала ставим MySQL:

$ sudo aptitude install mysql-server-5.1


В ходе установки MySQL спросит пароль для локального пользователя root. Внимательно этот пароль набирайте - это именно тот единственный пользователь, который будет существовать сразу после установки "мускула" и под которым Вы будете администрировать сервер.

После установки проверим, что aptitude самостоятельно запустил MySQL сервер:

$ sudo /etc/init.d/mysql status


Если вылезла куча разной инфы - значит сервер работает. Если нет - запускаем:

$ sudo /etc/init.d/mysql start


И, наконец, проверяем подключение к серверу:

$ mysql -u root -p
Password:


Тут вводим заданный выше пароль. Если все хорошо (нас пустило в MySQL и мы увидели заветное приглашение "mysql>" - то Вы все сделали правильно.

Если потребуется изменить настройки MySQL, то стоит знать где они лежат. Настройки сервера находятся по адресу:

/etc/mysql/my.cnf


Теперь запускаем скрипт:

$ sudo mysql_secure_installation


Вводим заданный ранее пароль и выполняем предложенные скриптом действия (удаляются временные базы, убирается доступ из-вне и т.д.)


Apache

В LAMP кроме MySQL входят еще Apache и PHP. Сейчас займемся установкой первого - Apache, в нашем случае - Apache 2.

Снова прибегаем к помощи aptitude:

$ sudo aptitude install apache2


На самом деле таким образом мы ставим Apache без поддержки SSL. Установку поддержки SSL я здесь описывать не буду - на эту тему есть детальная статья на этом же сайте (SSL Apache Debian).

Теперь идем в каталог /etc/apache2 и открываем файл apache2.conf . Нам нужно добавить здесь опцию "ServerName" и задать в ней имя сервера. Апач, конечно, и сам может его прочитать из hostname или hostname.domain, но лучше самостоятельно статически определить - как сервер будет называться. Дело в том, что название сервера будет фигурировать в сообщениях и страницах об ошибках.

ServerName "myserver"


После этого перезапускаем сервер Апача:

$ sudo /etc/init.d/apache2 restart


В дефолтной конфигурации у нас есть сайт с названием default. Описание сайта (конфигурация) лежит в каталоге /etc/init.d/apache2/sites-available и сделана символическая ссылка в каталог /etc/init.d/apache2/sites-enabled.

Таким образом, в каталоге /etc/init.d/apache2/sites-available у нас лежат все сайты,
а в каталоге /etc/init.d/apache2/sites-enabled - только те, которые Апачу стоит обслуживать. А точнее - символические ссылки на файлы из каталога доступных сайтов.

Для создания сайта Вам потребуется директория под этот сайт в файловой системе Linux и файл конфигурации сайта. Итак, например, мы хотим разместить сайт в каталоге /www/mysite.ru.

1) Создаем каталог /www (по-умолчанию его нет и Апач дефолтный сайт берет из папки /var/www):

$ sudo mkdir /www
$ sudo chown www-data:www-data /www
$ sudo chmod 775 /www


Здесь мы создаем директорию для всех сайтов, делаем Апач владельцем директории (чтобы сам сервер мог творить внутри что ему захочется - спорная модель безопасности, но для простоты делаем так) и назначаем права на запись для пользователя www-data и всех пользователей из группы www-data и на чтение для всех остальных.

$ cd /www
$ sudo mkdir mysite.ru
$ sudo chown www-data:www-data mysite.ru
$ sudo chmod 775 mysite.ru


А здесь создаем папку сайта. Да, нам снова надо назначить владельца и права - создаем то мы из-под sudo (root), соответственно, пользователем-владельцем автоматически назначается root, что не есть хорошо для Апача (работать то он будет, но если Ваш сайт предполагает запись в него чего-либо - тут же обломится).

2) Создаем конфигурационный файл сайта:

# cd /etc/apache2/sites-available


Здесь создаем файл mysite.ru следующего содержания:


ServerName mysite.ru
ServerAlias www.mysite.ru
DirectoryIndex index.php
DocumentRoot /www/mysite.ru


Здесь мы указали, что следует принимать подключения к сайту mysite.ru, что www.mysite.ru - это то же самое, что и mysite.ru, что в качестве стартовой страницы следует использовать index.php и что сам сайт лежит по адресу /www/mysite.ru

Чтобы сайт заработал - нужно создать символическую ссылку на него в директорию /etc/apache2/sites-enabled. Например, если конфигурационный файл мы назвали mysite.ru, то символическую ссылку делаем так:

# sudo ln -s /etc/apache2/sites-available/mysite.ru /etc/apache2/sites-enabled/mysite.ru


После любых изменений конфигурации необходимо попросить Апач перезагрузить его конфиги, что делаем следующей командой:

$ sudo /etc/init.d/apache2 graceful


На этом первичную настройку Apache можно закончить - тут ведь описывается только установка LAMP, а не хитрости конфигурирования.

Для проверки работоспособности Апача - зайдите через браузер по IP-адресу Вашего сервера - Вы должны будете увидеть надпись что-то вроде "Ура, я Апач работаю, возрадуйся, админ".


PHP

Предполагается использование PHP 5.3 (версия 5.2 снята с поддержки и ее последняя версия 5.2.17).

Debian по-умолчанию предлагает пакеты для установки PHP 5.3, однако версия PHP в этой ОС обновляется крайне редко, что не очень хорошо с точки зрения безопасности и функционала.

Если Вас устраивает PHP 5.3.3 (или та версия, которая является последней в Debian Squeeze на момент прочтения статьи) - то делов мало - делаем так:

$ sudo aptitude install php5


Оно за собой подтянет все что нужно и сделает ссылку с конфигурацией в /etc/apache2/mods-enabled.


Если хочется иметь обновляемый PHP 5.3 последней версии - варианта 2: либо регулярно проверять обновления на сайте PHP и скачивать дистрибьютивы, устанавливая из исходников, либо найти репозиторий, где это делают за нас. Я поведу Вас вторым путем, как более простым.

Репозиторий уже есть и находится на сайте www.dotdeb.org.
Сайт запутанный и найти ссылки для установки там не шибко легко, потому я даю уже готовое.

Итак, чтобы устанавливать PHP 5.3 с этого сайта делаем следующее.

1) Сначана нужно установить цифровую подпись для пакетов с этого сайта:

$ sudo gpg --keyserver keys.gnupg.net --recv-key 89DF5277
$ sudo gpg -a --export 89DF5277 | sudo apt-key add -


Если не получилось (бывает... по разным причинам - сервер занят, например) - можно сделать вручную:

$ cd ~
$ wget http://www.dotdeb.org/dotdeb.gpg
$ sudo apt-key add - < dotdeb.gpg


2) Теперь идем в /etc/apt и правим файл sources.list

Нам нужно добавить следующие строки в файл:

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all


3) Обновляем список портов

$ sudo aptitude update


4) Устанавливаем PHP

$ sudo aptitude install php5


Будет установлен плагин для Апача и минимум функционала.

Если утилита спросит - убрать ли apache2-worker - соглашаемся - вместо него будет установлен свой пакет.

По команде

$ aptitude search php5-


можно узреть сколько еще плагинов php можно поставить. Например, часто используются следующие (тут сразу команда для их установки):

$ sudo aptitude install php5-curl php5-ffmpeg php5-gd php5-geoip php5-imagick php5-imap php5-ldap php5-mcrypt php5-memcache php5-mysql


После этого перезапускаем Апач для применения изменений (чтобы оно поняло, что появился PHP).

$ sudo /etc/init.d/apache2 restart


ЗЫ. Для перезагрузки конфигов служит, вообще-то, команда graceful, но я предпочитаю серьезные изменения делать через полный перезапуск службы.


phpmyadmin

Следующим шагом - поставить веб-консоль для работы с MySQL сервером. Проверенная временем phpmyadmin используется на большинстве хостингов. Несмотря на то, что нередко быстрее все сделать ручками через ssh и mysql, веб-консоль бывает незаменима. Ну и интуитивно понятнее она, конечно, чем низкоуровненные sql-команды.

$ sudo aptitude install phpmyadmin


Во время установки Вас спросят - к каким веб-серверам (apache, lighthttpd) сразу прикрутить конфигурацию phpmyadmin. Отмечаем Apache и двигаемся дальше.

Следующим вопросом будет - устанавливать ли базу данных phpmyadmin по-умолчанию. Если Вы не вкуриваете что за база и с чем ее кушать - отвечаем "Да".

И последними вопросами будут вопросы про пароли. Сначала - пароль для MySQL сервера. Ввводим пароль, который мы указывали в разделе установки MySQL. Далее спрашивают пароль для доступа к базе данных самим phpmyadmin. Если оставим поле пустым - он будет сгенерирован случайным. Этот пароль не надо будет вводить нигде - он исключительно для нужд самого сервиса, потому можем смело жать на Enter.

Все, такая полезная вещь, как phpmyadmin, установлена. Обратиться к ней можно через сайт по пути ВАШ_IP/phpmyadmin, где вместо ВАШ_IP указывайте IP адрес Вашего сервера.



На этом завершаем потуги по установке LAMP сервера. В догонку хочется сказать, что все это происходит почти автоматически при выборе соответствующих пунктов меню во время установки Debian-системы, но если уж нам хочется вручную, или ОС уже установлена, а теперь понадобилось поднять веб-сервер - то выше руководство как это сделать.

ЗЫ. Как-бы, веб-сервер не есть сервер DNS, это как-бы надо учесть. Предполагается, что у Вас уже есть DNS-сервер, на котором Вы можете указывать доменные зоны, которые будет обслуживать этот веб-сервер. Если нет - на этом же сайте есть статья про настройку (и установку) bind-сервера (named), который можно поставить на ту же машину, что и веб-сервер, и который будет честно и увлеченно служить Вам DNS-сервером.

Актуально для: Debian Squeeze 6 + Apache 2 + PHP 5.* + MySQL 5.*

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2017-05-09
обновлено: 2021-09-19
367



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)