ubuntuvhost810:start
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| ubuntuvhost810:start [2009/01/02 09:51] – created svschwartz | ubuntuvhost810:start [2009/02/20 13:28] (current) – svschwartz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Web Hosting ====== | ||
| + | |||
| Для веб хостинга берем LAMP((Linux Apache Mysql PHP)) в качестве базовой конфигурации. | Для веб хостинга берем LAMP((Linux Apache Mysql PHP)) в качестве базовой конфигурации. | ||
| + | |||
| + | ===== Secure Shell ===== | ||
| Прежде чем настраивать веб хостинг мы обеспечим безопасность нашего сервера и данных наших потенциальных пользователей. | Прежде чем настраивать веб хостинг мы обеспечим безопасность нашего сервера и данных наших потенциальных пользователей. | ||
| - | * [[usergroup|учетные записи и группы]] | + | * [[usergroup|учетные записи и ключи авторизации ssh]] |
| - | * [[ssh_rsa_keys|ключи авторизации ssh]] | + | |
| * [[sshd_chroot_jail|chroot-jail средствами sshd]] | * [[sshd_chroot_jail|chroot-jail средствами sshd]] | ||
| + | |||
| + | ==== Учетные записи ==== | ||
| + | |||
| + | Создадим отдельную группу для пользователей веб хостинга | ||
| + | < | ||
| + | groupadd -r webuser | ||
| + | </ | ||
| + | |||
| + | Теперь создадим учетную запись пользователя веб хостинга | ||
| + | < | ||
| + | export WEBUSER=drivesource | ||
| + | useradd -s /bin/bash -G www-data, | ||
| + | </ | ||
| + | |||
| + | Создадим папку для веб-сайта drivesource. Обратите внимание что **владельцем папки** / | ||
| + | < | ||
| + | mkdir / | ||
| + | mkdir / | ||
| + | chown ${WEBUSER}.www-data / | ||
| + | chmod 6750 / | ||
| + | mkdir / | ||
| + | chown root.adm / | ||
| + | chmod 0750 / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Ключи ssh ==== | ||
| + | |||
| + | Сгенерируем для него ключи аутентификации ssh. Генератор ключа будет задавать вопросы - на все вопросы жмите enter :) | ||
| + | < | ||
| + | su - ${WEBUSER} | ||
| + | ssh-keygen | ||
| + | cd .ssh | ||
| + | cat id_rsa.pub >> authorized_keys | ||
| + | </ | ||
| + | |||
| + | Итак теперь у нас есть приватная и публичная части ключа. Публичный ключ записан в список авторизованных ключей. | ||
| + | |||
| + | Теперь мы можем использовать приватный ключ **id_rsa** для аутентификации на сервере. Для использования в WinSCP или PuTTY нам потребуется преобразовать формат приватного ключа с помощью утилиты [[http:// | ||
| + | |||
| + | |||
| + | ==== SSH chroot-jail ==== | ||
| + | |||
| + | Итак настроим сервер sshd следующим образом | ||
| + | - разрешить аутентификацию только по ключам | ||
| + | - пользователей группы webuser заключать в chroot-jail | ||
| + | |||
| + | Правим файл конфигурации сервер sshd **/ | ||
| + | <code php> | ||
| + | # Change to no to disable tunnelled clear text passwords | ||
| + | PasswordAuthentication no | ||
| + | |||
| + | #Subsystem sftp / | ||
| + | Subsystem sftp internal-sftp | ||
| + | |||
| + | Match group webuser | ||
| + | ForceCommand internal-sftp | ||
| + | ChrootDirectory / | ||
| + | X11Forwarding no | ||
| + | AllowTcpForwarding no | ||
| + | </ | ||
| + | |||
| + | Перезапустим сервер ssh чтобы параметры вступили в силу | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Теперь пользователи группы webuser могут получить доступ к сайту **только по протоколу SFTP** | ||
| + | < | ||
| + | root@deamon: | ||
| + | Connecting to localhost... | ||
| + | drivesource@localhost' | ||
| + | sftp> ls | ||
| + | htdocs | ||
| + | sftp> pwd | ||
| + | Remote working directory: / | ||
| + | sftp> | ||
| + | </ | ||
| + | |||
| + | ===== Apache Virtual Host ===== | ||
| + | |||
| + | < | ||
| + | echo "umask 002" >> / | ||
| + | </ | ||
| + | |||
| + | Перейдем в каталог | ||
| + | <code apache> | ||
| + | export WEBUSER=drivesource | ||
| + | cat << | ||
| + | < | ||
| + | ServerAdmin | ||
| + | DocumentRoot | ||
| + | |||
| + | ServerName | ||
| + | ServerAlias | ||
| + | |||
| + | ErrorLog | ||
| + | TransferLog | ||
| + | CustomLog | ||
| + | CustomLog | ||
| + | |||
| + | ScriptAlias /cgi-bin/ / | ||
| + | < | ||
| + | AllowOverride None | ||
| + | Options ExecCGI | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Options Indexes Includes FollowSymLinks MultiViews | ||
| + | AllowOverride All | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | EOFCONFIG | ||
| + | a2ensite ${WEBUSER} | ||
| + | </ | ||
| + | |||
| + | Активируем сайт | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== MySQL database ===== | ||
| + | |||
| + | < | ||
| + | WEBUSER=drivesource | ||
| + | DBPASS=secret | ||
| + | export WEBUSER DBPASS | ||
| + | cat << | ||
| + | create database ${WEBUSER}_main; | ||
| + | GRANT ALL PRIVILEGES ON ${WEBUSER}_main.* TO ' | ||
| + | commit; | ||
| + | exit; | ||
| + | EOFSCRIPT | ||
| + | mysql -u root -p | ||
| + | </ | ||
ubuntuvhost810/start.1230889881.txt.gz · Last modified: (external edit)
