DnnyRU » Сервера на Linux » Web-Server на ubuntu за пять минут часть 1

Сервера на Linux

Web-Server на ubuntu за пять минут часть 1

Поднять веб-сервер Apache с php и MySQL на Ubuntu проще простого. Можно поставить LAMP. Первый вариант в подробном описании не нуждается, а вот про второй я сейчас напишу. Установка пройдет в несколько этапов. Для начала нам нужно зарегистрировать домен у какого-нибудь регистратора доменных имен, например www.sweb.ru Я им пользуюсь уже больше 5 лет. Рассмотрим перенос на собственный сервер вымышленного домена www.mysite.ru Я делал все на живой машине, а не на виртуальном сервере, поэтому для переноса на свой сервер у вас должен быть хотя бы один выделенный внешний ip.

Не забудте прописать в админке вашего хостера dns для вашего домена  в виде внешнего  ip, прикреплённого к вашему серверу.

Устанавливаем Ubuntu Server 10.04.3, именно на ней я и создавал web server. Я знаю, есть много других дистрибутивов, но мне по душе ubuntu. Особое внимание при установке обратите на настройку сети (DHCP), её лучше настраивать вручную. Также на последнем этапе когда вас попросят выделить из списка пакеты (почтовый сервер, lamp, ssh, java… прочее) выберите только ssh, остальное вам не нужно.

Во время установки сервера, если вдруг что-то пошло не так при установке какого либо пакета, его можно удалить. Для этого надо в консоли написать:

apt-get purge "тут название пакета для удаления"

Устанавливаем Apache

sudo apt-get install apache2

Если все прошло без ошибок, сервер сразу загрузится и будет в рабочем состоянии. У меня сеть с внутренними ip и с привязанными к ним провайдером внешними ip. Поэтому набрав на другом компьютере внешний ip мы попадаем на страницу с текстом «It works!», значит все получилось. Файлы хоста находятся в папке /var/www, нам это ни к чему. По крайней мере я решил что все данные лучше хранить в папке /home. Поэтому в дальнейшем перенесем наши папки доменов в раздел home.

Для управления сервером Apache мы можем воспользоваться утилитой apache2ctl. Например, можно просмотреть текущий статус сервера Apache, выполнив команду:

apache2ctl status - состояние сервера
sudo apache2ctl stop - остановить
sudo apache2ctl start - запустить
sudo apache2ctl restart - перезапустить

Есть и другие команды для этих же целей:

sudo /etc/init.d/apache2 status - состояние сервера
sudo /etc/init.d/apache2 stop - остановить
sudo /etc/init.d/apache2 start - запустить
sudo /etc/init.d/apache2 restart - перезапустить

Установка PHP

Сразу установим библиотеки для работы с мускулом и библиотеки для работы с графикой:

sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql imagemagick

некоторые мануалы пишут еще об одном пакете: php-image-graph но у меня он не установился, написал что не доступен, поэтому я не стал разбираться почему, заработало и так. :)

Чтобы Apache подхватил только что установленный PHP перезагрузим его командой:

sudo apache2ctl restart или sudo /etc/init.d/apache2 restart

Установка MySQL

sudo apt-get install mysql-server

Во время установки MySQL, появится окошко, в которое нужно ввести пароль. По умолчанию MySQL создает административного пользователя с именем root. В это окошко нужно вписать пароль для этого пользователя и нажать Enter, затем повторно ввести пароль. Не забудьте записать пароль.

Если хотите поменять пароль на Mysql, это я к тому, что если вы ставили русскую версию ubuntu то иногда непонятно на каком языке вы вводите, то заменить можно так:

mysql -uroot –p

потом текущий пасс.

далее пишем команду, например хотим пасс 123456789

SET PASSWORD FOR root@localhost=PASSWORD('123456789');

вводим quit

Вообще все перезагружается автоматом, но если вдруг, то перезагружаем:

Mysql /etc/init.d/mysql restart

пробуем зайти под новым паролем.

Установка PhpMyAdmin

Для удобства управления базами данных установим phpMyAdmin. Большинство админов его не ставят, предпочитая работать с консолью, и сетуя на множество дырок, но он удобен и если сделать его доступным только для определенного ip либо так чтобы никто не смог набрав в браузере ip или имя домена перейти на него, то проблем нету.

sudo apt-get install phpmyadmin

В конце установки появится окошко, в котором нужно выбрать сервер apache2 (клавишей пробел) и нажать Enter. Далее вам предложат создать базу данных для phpMyAdmin. Выберите Да и нажмите Enter. Далее введите пароль административной учетной. Затем введите пароль для регистрации phpMyAdmin на сервере баз данных и в следующем окошке подтверждение пароля.

Панель управления phpMyAdmin будет доступна по адресу http://ваш_ip/phpmyadmin. В качестве имени пользователя введите root, а пароль тот, который вы указали для пользователя root при установке MySQL.

Для ограничения доступа к PhpMyAdmin вам надо выполнить несколько действий. Во-первых давайте скроем доступ к управлению базами данных через http://ваш_ip/phpmyadmin Отредактируем файл /etc/apache2/conf.d/phpmyadmin.conf в котором надо:

1. Изменить Alias /phpmyadmin на что нибудь своё, например Alias /skdjfhefjdv что не позволит злоумышленнику, если ваш сайт имеет выход в интернет, получить доступ к phpmyadmin из вне и натворить там не весть что.

2. В корневую дирректорию phpmyadmin которая находиться в /usr/share/phpmyadmin/ надо положить файл .htaccess со следующими данными:

deny from all
allow from ваш_IP

Теперь в phpMyadmin можно будет заходить с определённого ip.

Теперь создадим свой сайт www.mysite.ru. Создадим директорию для всех ваших сайтов, а заодно и для www.mysite.ru:

mkdir -p ~/www/mysite.ru/public_html

Данной командой мы создали общую www и в ней папку домена с папкой для файлов сайта, в директории /home.

Теперь сообщим апачу о новом сайте. Создаём файл:

sudo nano /etc/apache2/sites-available/mysite.ru

И вписываем туда следующие строки:


<VirtualHost *:80>
 ServerName mysite.ru
 ServerAdmin webmaster@localhost

 DocumentRoot /home/username/www/mysite.ru/public_html
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /home/username/www/mysite.ru/public_html>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
 </Directory>

 ErrorLog /var/log/apache2/error.log

 LogLevel debug

 CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Сохраняем файл. Теперь нужно сообщить апачу, что сайт нужно обслуживать. Пишем в терминал:

sudo a2ensite mysite.ru

А затем перезагрузим его:

sudo /etc/init.d/apache2 reload

Теперь нам нужно, что бы при вводе в браузере адреса mysite.ru открывался наш локальный сайт, а не с интернета. Поэтому открываем файл hosts:

sudo nano /etc/hosts

И в первой строчке, сразу за "127.0.0.1 localhost" прописываем mysite.ru. Должно получиться примерно следующее:

127.0.0.1 localhost.localdomain localhost mysite.ru

 

читайте продолжение....

Источник: DnnyRU

Теги

Комменты к посту

  1. Dnny | Дирекция

    Зачем? Оно и без этого будет работать, это же линукс, а не винда. Расширение файла по сути нужно только пользователю, чтобы знать что это конфиг.


    --------------------
  2. e.stasova | Серферы

    sudo nano /etc/apache2/sites-available/mysite.ru

    надо исправить на
    sudo nano /etc/apache2/sites-available/mysite.ru.conf

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Чтобы комментировать новости или запостить что-то своё, мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Написать свой комментарий:

Информация

Сообщаем Вам:

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добро пожаловать

Сайт для людей с чистым сердцем, открытыми глазами и душой. Для исследователей, а не для фанатиков.

Присоединяйтесь

Цитата

"...А главное — нам не простят самозванства. Нельзя притворяться богом. Им нельзя и быть, но можно — пытаться. Изо дня в день доказывать, что хочешь быть богом. Неважно, добрым или злым. Нельзя останавливаться, иначе скатишься с Олимпа..."

© Сергей Лукьяненко