HOW-TO: Lamp. Часть 2 Сравнение версий

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
fullcircle:29:lamp_ч_2 [2010/06/07 17:51]
fullcircle:29:lamp_ч_2 [2010/06/07 18:00] (текущий)
Строка 8: Строка 8:
   - [[..:​29:​lamp_ч_2|Lamp - Часть 2]]   - [[..:​29:​lamp_ч_2|Lamp - Часть 2]]
   - [[..:​30:​lamp_ч_3|Lamp - Часть 3]]   - [[..:​30:​lamp_ч_3|Lamp - Часть 3]]
 +
 +У нас уже установлен LAMP комплекс,​ это очень хорошо,​ но нам конечно же нужно поместить туда данные. Также мы не хотим, чтобы другие люди могли разместить свои данные на комплексе,​ или получить доступ к нашим. Linux сервер изначально безопасен,​ впрочем не повредит улучшить некоторые вещи. Давайте настроим FTP и простой сетевой экран.*
 +
 +=====Установка FTP=====
 +
 +Мы собираемся использовать vsftpd. Введите в консоли:​
 +
 +<​code>​sudo apt-get install vsftpd</​code>​
 +
 +Вы можете взять GUI-модуль vsftpd для Webmin, но я предпочитаю редактировать файл vsftpd.conf вручную. Для этого введите в консоли:​
 +
 +<​code>​sudo nano /​etc/​vsftpd.conf</​code>​
 +
 +Я прочитал много руководств,​ в которых,​ похоже,​ рады работать с анонимным доступом. Меня, однако,​ это не устраивает,​ поэтому я всегда отключаю его. В зависимости от политики вашей системы вы можете ограничить доступ (с помощью chroot) для выбранных пользователей,​ чтобы предотвратить их перемещение в системе из мест, где они могут быть, туда, где они не должны находиться.
 +
 +Для работы с FTP используются права доступа. Так как я использую только одну учетную запись и подключаюсь напрямую к /var/www, мой метод доступа следующий:​
 +  * Разрешить доступ локальному пользователю (моя учетная запись) в **vsftpd.conf**.
 +  * Добавить пользователя (себя) в группу www-data. Для этого я использую **Webmin**.
 +  * Дать права владельца каталога /var/www группе www-data (я использую Webmin) и проверить "Files Inherit Group"​.
 +  * Установить путь назначения в **ftp клиенте (например /​var/​www)**.
 +
 +<note important>​ВАЖНО:​ Убедитесь,​ что «umask» раскоментировано в файле vsftpd.conf,​ и выберите нужные вам настройки для загрузки файлов. Я решил, что значение 0002 для установки Wordpress наиболее подходя-щее — это дает права доступа 775.</​note>​
 +
 +Ваши требования могут отличаться,​ но описанное выше подходит мне. Перезапустите vsftpd и проверьте доступ с помощью вашего FTP клиента. Я использую Transmit — он прекрасен.
 +
 +<​code>​sudo /​etc/​init.d/​vsftpd restart</​code>​
 +
 +====Настройка Сетевого экрана====
 +
 +Это довольно легко в Webmin. Во вкладке Сеть откройте «Межсетевой экран» (firewall).
 +
 +Выберите «Блокировать всё» кроме SSH и IDENT на внешнем интерфейсе.
 +
 +В следующем окне нам нуж-но добавить правила доступа для FTP, Webmin, Sendmail и MySQL Admin.
 +
 +Нажмите «Добавить пра-вило» под существующим списком.
 +
 +Выберите «Принять».
 +
 +Выберите сетевой протокол TCP.
 +
 +Установите порт назначения TCP или UDP равным 21.
 +
 +Нажмите «Создать».
 +
 +Сделайте то же самое для портов 3306 (MySQL), 25 (Sendmail), 10000 (Webmin), и 80 (Web и phpMyAdmin).
 +
 +Выберите «Активировать при загрузке» и нажмите «Применить конфигурацию». Если вы можете вернуться в Webmin, использовать поч-товые PHP скрипты и FTP и подключаться к БД с помощью MySQL Administrator,​ то у вас всё получилось.
 +
 +<note tip>​СОВЕТ:​ Вам, возможно,​ потребуется перезапустить MySQL. Я использую Webmin для этого.</​note>​
 +
 +=====Почта в PHP=====
 +
 +Вы, возможно,​ захотите чтобы пользователи отправ-ляли вам письма с вашего сайта. PHP уже имеет встро-енную функцию mail, но ее нужно привязать к транспорт-ному агенту (MTA) для пере-дачи. Другими словами,​ ей нужна программа или сервис,​ который будет отсылать почту. Тут мы можем использовать сервис,​ называемый (можете угадать?​),​ да, Sendmail. Ниже о том как установить и настроить его — это очень просто.
 +
 +Сперва мы установим Sendmail. Введите в консоли:​
 +
 +<​code>​sudo apt-get install sendmail</​code>​
 +
 +Далее нужно настроить PHP, чтобы он знал, где находится SMTP-сервис (sendmail). Наберите в консоли следующее:​
 +
 +<​code>​sudo nano /​etc/​php5/​apache2/​php.ini</​code>​
 +
 +Добавьте следующее в секцию mail function, вводя ваши собственные настройки по необходимости:​
 +
 +<​code>​[mail function]
 +; Настройка для Linux систем
 +sendmail_path = /​usr/​sbin/​sendmail -t
 +sendmail_from = <​ваша_почтовая_учетная_запись@вашдомен.com></​code>​
 +
 +И сохраните. Теперь ваши почтовые скрипты должны благополучно отсылать почту.
  
 --------------------------------------- ---------------------------------------