Свободный ФОРУМ г.Волгодонск ВОЛГОДОНСК
Свободный городской форум
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы  РегистрацияРегистрация 
  RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Apache/PHP/MySql/FTP на CentOS 6

 
Начать новую тему   Ответить на тему    Список форумов ВОЛГОДОНСК -> Интернет, Web-верстак
Предыдущая тема :: Следующая тема  
Автор Сообщение
ntking
Админ


Зарегился: 02.06.2005
Сообщения: 1224
Откуда: Волгодонск Район: В-16

СообщениеДобавлено: 26 Мар 2013 17:23    Заголовок сообщения: Apache/PHP/MySql/FTP на CentOS 6 Ответить с цитатой

Попался мне на руки VPS-ник на халяву, вот решил приспособить его для хостинга. Мне то по сути нужен всего лишь Apache, но решил на всякий случай установить связку: Apache/PHP/MySql/FTP
Итак, у нас чистенький, только что установленный хостером VPS (сконфигурирована сеть) с CentOS 6-й версии, задал на него root пароль и подцепился по SSH с помощью PuTTY.
Решено было в первую очередь обновить ОСь:
Код:
yum -y update

Скачал примерно 128Мб, установил обновы.
Далее ставим Apache (если его не установил хостер, у меня в ОС он уже был установлен):
Код:
yum -y install httpd
после установки не забываем его добавить в автозагрузку:
Код:
chkconfig --levels 235 httpd on
ну и собственно запустить:
Код:
/etc/init.d/httpd start
После данных манипуляций при заходе на ip VPS'a по http он должен выдать заставку Apache. Значит все установлено правильно. Если не заходит, то возможно хостер не позаботился о настройке файрвола в конфиге VPS'a. Тогда собственноручно разрешаем порт 80:
Код:
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Как настраивать Apache на определенный домен я возможно опишу ниже, а сейчас, заставка отображается - значит все установлено правильно.
Приступаем к установке FTP . Тут не сложнее предыдущего:
Код:
yum -y install vsftpd
Установили. Редактиуем конфиг:
Код:
vi /etc/vsftpd/vsftpd.conf
, для редактирования используем "i", для выхода из редактирования "Esc", для сохранения ":wq". Основное, что нам надо изменить:
anonymous_enable=NO ## Запрещаем анонимам использовать сервер
chroot_local_user=YES ## Запрещаем выходить из домашней папки (для безопасности)
force_dot_files=YES ## В конце конфига дописываем этот параметр, чтобы по FTP видеть Dote файлы (.htaccess например)
Сохранились, теперь не забываем добавить vsftpd в автозагрузку:
Код:
chkconfig vsftpd on
Полдела сделано, далее еще половина. VsFTPd использует учетные записи ОСи, поэтому создаем нового юзверя:
Код:
useradd FTPuser
где FTPuser логин нашего пользователя, задаем теперь ему пароль:
Код:
passwd FTPuser
где где FTPuser имя пользователя, указанное ранее. Далее закрываем этому пользователю доступ по SSH:
Код:
vi /etc/passwd
в конце конфига должна быть запись:
FTPuser:x:500:500::/home/FTPuser:/bin/bash
исправляем ее на:
FTPuser:x:500:500::/home/FTPuser:/sbin/nologin
Сохраняемся ":wq". Ну и собственно запускаем FTP сервер:
Код:
service vsftpd start
Пробуем зайти по фтп, если не пускает, открываем 21-й порт аналогично вебсерверу:
Код:
iptables -I INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
Логинимся, заходит, радуемся.
Продолжение Следует...


Последний раз редактировалось: ntking (10 Дек 2013 17:09), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение   Посетить сайт автора
ntking
Админ


Зарегился: 02.06.2005
Сообщения: 1224
Откуда: Волгодонск Район: В-16

СообщениеДобавлено: 27 Мар 2013 12:37    Заголовок сообщения: Ответить с цитатой

Продолжение.
От себя добавлю, что выше установленной связки мне вполне хватило для моих нужд (html + JavaScript сайт), но я решил пойти дальше и установить еще поддержку PHP и баз MySQL. Итак, начнем.
Устанавливаем PHP:
Код:
yum -y install php

Устанавливаем MySql:
Код:
yum -y install mysql mysql-server
добавляем мускул в загрузку
Код:
chkconfig --levels 235 mysqld on
Не забываем поженить PHP и мускул
Код:
yum -y install php-mysql php-gd php-imap php-ldap php-odbc
Ну вот, почти все сделано. Можно проверить работу PHP , перезагрузив веб-сервер
Код:
service httpd restart
добавив в /var/www/html/ фалик info.php, с содержимым
Код:
<?php
phpinfo();
?>
и посетив его в браузере.
Ах да... Пароля то на мускуле нет, для этого запускаем его
Код:
/etc/init.d/mysqld start
и собственно устанавливаем пароль
Код:
mysql_secure_installation
По умолчанию пароля нет, поэтому в начале просто жмем "Ентер". Далее:
Set root password? [Y/n] Y ## Задаем пароль для root
Remove anonymous users? [Y/n] Y ## Запрещаем анонимов
Disallow root login remotely? [Y/n] Y ## Запрещаем конектиться root'ом удаленно
Remove test database and access to it? [Y/n] Y ## Удаляем тестовую таблицу и доступ к ней
Reload privilege tables now? [Y/n] Y ## Перезагружаем привелегии.
Ну вот вроде и все... Для того, чтобы разместить сайт и он работал, достаточно отредактировать конфиг веб-сервера
Код:
vi /etc/httpd/conf/httpd.conf
следующим образом (основные моменты):
находим <Directory "/var/www/html"> изменяем на <Directory "/home/FTPuser/www/"> ## Тут у нас будут папки с сайтами, FTPuser это имя вашего пользователя, созданного в статье выше.
Ну или можно сделать так:
Код:
<Directory />
    Options Indexes FollowSymLinks Includes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
В конце конфига раскоментируем и редактируем следующие строки:
Код:
NameVirtualHost *:80
<VirtualHost *:80>
#    ServerAdmin webmaster @ example.com
     DocumentRoot /home/FTPuser/www/example.com
     ServerName example.com
     ServerAlias www.example.com
#    ErrorLog /home/FTPuser/logs/example.com-error_log
#    CustomLog /home/FTPuser/logs/example.com-access_log common
</VirtualHost>
Теперь в корневой папке нашего пользователя, по FTP, создаем папку www, в ней папку в Вашим доменом example.com. В нее заливаем файлы сайта. Чтобы все вступило в силу, перезагружаем веб-сервер
Код:
service httpd restart
Ну вот вроде бы и все. Если что-то нужно подредактировать в конфиге под себя, думаю проблем с этим не возникнет, там на все параметры есть справка.
Теперь у Вас есть полноценный веб сервер с поддержкой PHP+MySql и с FTP доступом к нему. Если мне понадобится что-то доустановить на свой сервер, то я обязательно опишу процесс установки в данной статье. Надеюсь все понятно описал и кому-то помог.

(с) ntking При использовании (копировании) данной статьи - ссылка на ntking.ru или vdforum.net обязательна.


Последний раз редактировалось: ntking (29 Мар 2013 10:46), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение   Посетить сайт автора
ntking
Админ


Зарегился: 02.06.2005
Сообщения: 1224
Откуда: Волгодонск Район: В-16

СообщениеДобавлено: 29 Мар 2013 11:08    Заголовок сообщения: Ответить с цитатой

Код:
yum list installed >/tmp/instproglist.txt
Листинг установленных программ на CentOS в файл. Ну или копируйте сразу в свою директорию /home/FTPuser/ .
Вернуться к началу
Посмотреть профиль Отправить личное сообщение   Посетить сайт автора
ntking
Админ


Зарегился: 02.06.2005
Сообщения: 1224
Откуда: Волгодонск Район: В-16

СообщениеДобавлено: 10 Дек 2013 12:22    Заголовок сообщения: Ответить с цитатой

Столкнулся с проблемой, что при установки новой версии vsFTPd юзер по какой-то причине не логинится. 530 ошибка (login incorect) и все тут.
Нашел решение на забугорном форуме:
Нужно отредактировать
Код:
vi /etc/pam.d/vsftpd
, закомментировав строчку:
Код:
#auth required pam_shells.so

Логиниться пользователь начал, все работает отлично, но я все же не понял, что я сделал и не повлияет ли это на безопасность сервера в целом?

P.S. Нарыл в инете вот такое объяснение этим действиям:
Цитата:
Если пользователю отключить шелл, то он не сможет залогиниться на FTP сервер, его будет просто отфутболивать.
Вдумчивое чтение документации по vsFTPd рассказало мне, что доступ к FTP могут получить пользователи которые имеют работоспособный шелл т.е. /bin/bash, для того чтобы пользователи с /bin/false могли авторизироваться на нашем ftp, нам необходимо отредактировать файл /etc/pam.d/vsftpd


Последний раз редактировалось: ntking (10 Дек 2013 16:54), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение   Посетить сайт автора
ntking
Админ


Зарегился: 02.06.2005
Сообщения: 1224
Откуда: Волгодонск Район: В-16

СообщениеДобавлено: 10 Дек 2013 16:15    Заголовок сообщения: Ответить с цитатой

Еще добавление.
Альтернативная конфигурация веб сервера Apache. Организация папок следующая:
Код:

/home/FTPuser/example.com/
/home/FTPuser/example.com/www/
/home/FTPuser/example.com/logs/
В папке /etc/httpd/conf.d/ создаем файл example.com.conf с содержимым:
Код:
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /home/FTPuser/example.com/www
    <Directory /home/FTPuser/example.com/www>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    #лог ошибок
    ErrorLog /home/FTPuser/example.com/logs/error.log
    #
    #лог обращений выключен по умолчанию, для включения уберите #
    #CustomLog /home/FTPuser/example.com/logs/access.log common
    #
</VirtualHost>
перезапускаем httpd и готово. Внутрь тегов <VirtualHost> можно даже настройки PHP вписывать и т.п., что косается этого хоста.
И еще один нюанс, который мне пришлось обдумать: это выдача сервером ошибки 403 Forbidden, при правильной конфигурации. Оказалось, что на папке /home/FTPuser/ стоял cmod 700, что впрочем и послужило основой ошибки. Зашел по FTP коммандером, поставил права 755 и сайт заработал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение   Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов ВОЛГОДОНСК -> Интернет, Web-верстак Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы не можете скачивать файлы в этом форуме




Powered by phpBB | Hosted by desl.ru
© 2005-2016 VDFORUM.NET, © 2016-2024 VDFORUM.ntking.RU Created & Moded by ntking, г.Волгодонск
Хрусть Мочальная