Автор — Ричард Босомворт (Richard Bosomworth)
У нас уже установлен LAMP комплекс, это очень хорошо, но нам конечно же нужно поместить туда данные. Также мы не хотим, чтобы другие люди могли разместить свои данные на комплексе, или получить доступ к нашим. Linux сервер изначально безопасен, впрочем не повредит улучшить некоторые вещи. Давайте настроим FTP и простой сетевой экран.*
Установка FTP
Мы собираемся использовать vsftpd. Введите в консоли:
sudo apt-get install vsftpd
Вы можете взять GUI-модуль vsftpd для Webmin, но я предпочитаю редактировать файл vsftpd.conf вручную. Для этого введите в консоли:
sudo nano /etc/vsftpd.conf
Я прочитал много руководств, в которых, похоже, рады работать с анонимным доступом. Меня, однако, это не устраивает, поэтому я всегда отключаю его. В зависимости от политики вашей системы вы можете ограничить доступ (с помощью chroot) для выбранных пользователей, чтобы предотвратить их перемещение в системе из мест, где они могут быть, туда, где они не должны находиться.
Для работы с FTP используются права доступа. Так как я использую только одну учетную запись и подключаюсь напрямую к /var/www, мой метод доступа следующий:
- Разрешить доступ локальному пользователю (моя учетная запись) в vsftpd.conf.
- Добавить пользователя (себя) в группу www-data. Для этого я использую Webmin.
- Дать права владельца каталога /var/www группе www-data (я использую Webmin) и проверить «Files Inherit Group».
- Установить путь назначения в ftp клиенте (например /var/www).
Ваши требования могут отличаться, но описанное выше подходит мне. Перезапустите vsftpd и проверьте доступ с помощью вашего FTP клиента. Я использую Transmit — он прекрасен.
sudo /etc/init.d/vsftpd restart
Настройка Сетевого экрана
Это довольно легко в 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, то у вас всё получилось.
Почта в PHP
Вы, возможно, захотите чтобы пользователи отправ-ляли вам письма с вашего сайта. PHP уже имеет встро-енную функцию mail, но ее нужно привязать к транспорт-ному агенту (MTA) для пере-дачи. Другими словами, ей нужна программа или сервис, который будет отсылать почту. Тут мы можем использовать сервис, называемый (можете угадать?), да, Sendmail. Ниже о том как установить и настроить его — это очень просто.
Сперва мы установим Sendmail. Введите в консоли:
sudo apt-get install sendmail
Далее нужно настроить PHP, чтобы он знал, где находится SMTP-сервис (sendmail). Наберите в консоли следующее:
sudo nano /etc/php5/apache2/php.ini
Добавьте следующее в секцию mail function, вводя ваши собственные настройки по необходимости:
[mail function] ; Настройка для Linux систем sendmail_path = /usr/sbin/sendmail -t sendmail_from = <ваша_почтовая_учетная_запись@вашдомен.com>
И сохраните. Теперь ваши почтовые скрипты должны благополучно отсылать почту.