Установка и настройка сервера для отладки сайта в Linux (Unix, LAMP). Инструкция.

Тема в разделе "Администрирование серверов", создана пользователем IgorVS, 6 ноя 2013.

  1. IgorVS

    IgorVS

    Регистрация:
    23 окт 2013
    Сообщения:
    74
    Симпатии:
    17
    Сам по себе Linux уже сам по себе наполовину сервер. Поэтому его легче настроить и под отладку сайтов и он более производителен, чем виртуальные отладочные сервера под другие системы. Мало того, он обладает всеми возможностями сервера, в отличие от имитаций в других системах.
    Всё написанное здесь выполнялось на Ubuntu 12.04 Precise, но в общем подойдёт для любого дистрибутива Linux и Unix с Apache2. Само собой, в других дистрибутивах возможно нужно будет что то подправить, я дам максимум нужной для этого информации.
    Приступим.

    Общие сведения.
    Для сервера можно взять серверную версию Ubuntu. Но она мало годится для отладки сайтов, так как не содержит в себе графической оболочки, необходимой для отладки визуальных, пользовательских частей. Поэтому я взял настольную версию.
    На настольной версии нужно установить и настроитьLAMP. LAMP это сокращение от:

    Linux - сама система.
    Apache - сам сервер, обеспечивающий работу сайтов и всего что с ними связано.
    MySql - программа базы данных, необходимая для работы многих сайтов.
    PHP - интерпретатор языка программирования PHP, на котором пишут сценарии (скрипты) сайтов.
    Далее для работы сайта необходимо установить почтовую программу и собственно сам сайт.

    Устанавливаем LAMP.
    Открываем терминал: Ctrl+Alt+T. И вводим команду:
    Ждём когда пакеты скачаются и начнётся установка.
    В процессе установки настройщик попросит Вас ввести сначала пароль для базы данных MySql. Он может понадобится для удалённого доступа к базе данных.
    Далее настройщик попросит ввести и в следующем окне подтвердить пароль для phpMyAdmin. PhpMyAdmin это программа для визуального управления базой данных MySql.
    Ждём окончания установки и проверяем, что всё заработало. Открываем браузер и вводим:
    Если открылось окно с предложением ввести имя пользователя и пароль, значит всё работает.
    Есть ещё способы проверить работоспособность по отдельности.
    Теперь настраиваем сервер.
    Везде ниже site.ru это название вашего сайта. Его нужно заменить на нужное.
    Создаём папку для сайта:
    Настраиваем сервер под сайт и переадресацию на него для браузера:
    В /etc/apache2/httpd.conf вписываем:
    В /etc/hosts в самый конец файла для переадресации дописываем:
    Теперь сайт имеет имя site.ru и ip адрес 127.0.0.2 открывается в браузере по ссылке http://site.ru (точнее будет открываться, когда там будут файлы сайта, впрочем открытие сайта можно проверить и сейчас, создав в его папке любую рабочую страницу сайта с названием "index").
    Так можно создать нужное количество сайтов, дописывая в указанные файлы новые сайты с новыми ip адресами.
    ip адрес выбирается не случайно.
    Теперь пару слов про управление сервером Apache. При загрузке операционной системы он включается автоматически. Для ручного управления применяются команды:
    Запуск сервера:
    Остановка сервера:
    Перезапуск сервера:

    Включение поддержки .htaccess.
    .htaccess это скрытый файл (точка в начале названия), в котором содержаться настройки для сервера. Его особенность в том, что настройки, содержащиеся в нём, распространяются только на папку с фалами, где он находится, и папки и файлы ниже по дереву каталогов. С его помощью каждый сайт на сервере может иметь свои настройки сервера.
    Для включения поддержки настроек из файла .htaccess необходимо активировать модуль Mod rewrite. Делается это командой:
    В некоторых системах эта команда может не сработать.
    Продолжим настройку. Открываем файл:
    Находим там строчки:
    У меня их целых четыре было.
    И меняем None на All, что бы получилось:
    Сохраняем файл, закрываем редактор.
    Перезапускаем сервер:

    Настройка почтовой программы.
    Теперь необходимо настроить почтовую программу, что бы сайты на нашем сервере могли отправлять почту.
    Тут есть три варианта.

    Первый это поднять полноценный почтовый сервер. Его я сразу отмёл по нескольким причинам. Во первых он есть ресурсы в дежурном режиме. Во вторых настроить почтовый сервер относительно сложно. В третьих это полноценный почтовый сервер требующий белого ip (адрес, закреплённый за конкретной Э.В.М., подключённой в сеть), а у многих серый ip (провайдер имеет некий диапазон ip и каждый ip назначается пользователям случайным образом, часто через один ip выходит в сеть сразу много пользователей). В четвёртых, так как это полноценный сервер, он требует специальной регистрации в сети; регистрация без платная, но делает её провайдер и не от каждого провайдера её можно добиться.

    Второй вариант это перехват почтовых сообщений и сохранение их в папку.
    Называется такой метод почтовой заглушкой. Он хорошо подходит, особенно если разработка сайтов поставлена на поток.
    Создаём папку для почты для почты в домашней папке:
    Даём необходимые права.
    Создаём сценарий, программу перехвата. Я дал ему имя "mailxap.sh", но можно использовать любое.
    Вносим в файл сценария сам сценарий:
    Обратите внимание на строчку "prefix="/home/user/pochta"", в ней значение "/home/user/pochta" это, обязательно, полный адрес папки для почты, начиная с корня. Если делаете другую папку, поменяйте.
    В папке "/home/user/pochta" так же будет находится файл "num". Он нужен для работы сценария и отображает последний номер письма. Его можно перенести в другую папку. За расположение этого файла отвечает значение параметра numPath="/home/igor/pochta".
    Теперь необходимо подключить сценарий к системе отправки почты сервера:
    Находим параметр "sendmail_path = " и дописываем адрес сценария:
    Перед "sendmail_path = " почти наверняка будет стоять или точка с запятой, или решётка (параметр закоментирован), их надо удалить, приведя строку к указанному виду.
    Перезапускаем сервер:
    Теперь всё должно работать.
    Теперь как просматривать перехваченную почту.
    Сайт отправляет за раз 1, 2 письма, в зависимости от настроек. Письмо представляет собой текстовый файл, который можно открыть и прочитать любым текстовым редактором или почтовой программой.
    Можно указать путь сохранения в папку, где хранит письма почтовая программа или наоборот указать почтовой программе где сценарием сохраняются письма и смотреть прям из неё. Просмотр почтовой программой даёт возможность проверить форматирования письма и вставки. Не забудьте с почтовой программой про права паки, нужные для работы, и то, что некоторый программы требуют определённую структуру вложенных папок (для новых, прочитанных и прочих писем), подправьте в соответствии с требованиями Вашей почтовой программы.

    Третий метод использование почты это подключить существующий почтовый ящик на сервере хостинга или почтовом сервисе.
    Ставим программу "ssmtp":
    Настраиваем почту. Приведу пример для yandexа:
    Вписываем:
    Здесь "user@yandex.ru" почтовый адрес, "parol" пароль, "smtp.yandex.ru" сервер или хост подключения и "465" порт подключения. Последние два параметра можно найти в справке у почтового сервиса.
    Следующий файл:
    Вписываем:
    Здесь "UserUbuntu" имя пользователя в системе, "site" имя сайта. Хотя можно указать любые значения для пущей секретности, работать будет. Параметры указанные наклонным шрифтом такие же, как и в файле "/etc/ssmtp/ssmtp.conf", описанные выше.
    Настраиваем сервер:
    Находим параметр "
    sendmail_path = " и устанавливаем значение:
    Перезапускаем сервер:

    Устанавливаем движок сайта.
    Теперь всё готово для установки самого движка. В этот раз его установку я описывать подробно не буду, она полностью соответствует другим описаниям. Укажу лишь некоторые моменты.
    Сначала делается база данных для сайта. Вво
    дите в браузере http://localhost/phpmyadmin и попадёте в панель управления базами данных PhpMyAdmin. По умолчанию пользователь базы данных "root", пароль тот, который Вы указали при установке для PhpMyAdmin (не путайте с паролем для базы данных). В открывшемся редакторе создаёте базу данных для сайта и в закладке "Привилегии" пользователя базы данных.
    В идеале лучше сразу брать имя пользователя, пароль и параметры базы данных те, которые требует хостинг. У всех хостингов существуют свои особенности и требования, что может повлиять на работу сайта. Но если хостинг Вы ещё не подобрали, то ничего страшного, существуют способы переноса и доотладки.
    Потом качаем и распаковываем в папку "/var/www/site.ru" сам движок. При распаковке, как это происходит с OcStore, может произойти ситуация, когда будет извлечена некая общая папка, а уже в ней файлы и папки самого движка будут. В таком случае нужно в "/var/www/site.ru" копировать не эту общую папку, а те файлы и папки движка, что лежат в ней.
    Так же обратите внимание, что файл .htaccess скрытый и для действий с ним нужно включить режим просмотра скрытых файлов и папок.
    Будь те осторожны с базой данных, из за обилия в ней параметров её сложно в случае чего чинить и отлаживать.
    Пока всё.


    Используемые источники в произвольном порядке.
    http://www.yandex.ru/
    http://help.ubuntu.ru/wiki/xampp
    http://vbbook.ru/linux/ubuntu-1204-precise-pangolin-ystanovka-apache--php--mysql/
    http://pingvinus.ru/note/mod-rewrite-apache
    http://adminway.ru/kak-vklyuchit-mod_rewrite-v-apache2
    http://gansik.ru/ubuntu/php-mail-i-ssmtp/
    http://www.opennet.ru/man.shtml?topic=unzip&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man
     
    Последнее редактирование: 6 ноя 2013
    kashara нравится это.