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, остальное вам не нужно.
Во время установки сервера, если вдруг что-то пошло не так при установке какого либо пакета, его можно удалить. Для этого надо в консоли написать:
Устанавливаем Apache
Если все прошло без ошибок, сервер сразу загрузится и будет в рабочем состоянии. У меня сеть с внутренними ip и с привязанными к ним провайдером внешними ip. Поэтому набрав на другом компьютере внешний ip мы попадаем на страницу с текстом «It works!», значит все получилось. Файлы хоста находятся в папке /var/www, нам это ни к чему. По крайней мере я решил что все данные лучше хранить в папке /home. Поэтому в дальнейшем перенесем наши папки доменов в раздел home.
Для управления сервером Apache мы можем воспользоваться утилитой apache2ctl. Например, можно просмотреть текущий статус сервера Apache, выполнив команду:
sudo apache2ctl stop - остановить
sudo apache2ctl start - запустить
sudo apache2ctl restart - перезапустить
Есть и другие команды для этих же целей:
sudo /etc/init.d/apache2 stop - остановить
sudo /etc/init.d/apache2 start - запустить
sudo /etc/init.d/apache2 restart - перезапустить
Установка PHP
Сразу установим библиотеки для работы с мускулом и библиотеки для работы с графикой:
некоторые мануалы пишут еще об одном пакете: php-image-graph но у меня он не установился, написал что не доступен, поэтому я не стал разбираться почему, заработало и так. :)
Чтобы Apache подхватил только что установленный PHP перезагрузим его командой:
Установка MySQL
Во время установки MySQL, появится окошко, в которое нужно ввести пароль. По умолчанию MySQL создает административного пользователя с именем root. В это окошко нужно вписать пароль для этого пользователя и нажать Enter, затем повторно ввести пароль. Не забудьте записать пароль.
Если хотите поменять пароль на Mysql, это я к тому, что если вы ставили русскую версию ubuntu то иногда непонятно на каком языке вы вводите, то заменить можно так:
потом текущий пасс.
далее пишем команду, например хотим пасс 123456789
вводим quit
Вообще все перезагружается автоматом, но если вдруг, то перезагружаем:
пробуем зайти под новым паролем.
Установка PhpMyAdmin
Для удобства управления базами данных установим phpMyAdmin. Большинство админов его не ставят, предпочитая работать с консолью, и сетуя на множество дырок, но он удобен и если сделать его доступным только для определенного ip либо так чтобы никто не смог набрав в браузере ip или имя домена перейти на него, то проблем нету.
В конце установки появится окошко, в котором нужно выбрать сервер 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 со следующими данными:
allow from ваш_IP
Теперь в phpMyadmin можно будет заходить с определённого ip.
Теперь создадим свой сайт www.mysite.ru. Создадим директорию для всех ваших сайтов, а заодно и для www.mysite.ru:
Данной командой мы создали общую www и в ней папку домена с папкой для файлов сайта, в директории /home.
Теперь сообщим апачу о новом сайте. Создаём файл:
И вписываем туда следующие строки:
<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>
Сохраняем файл. Теперь нужно сообщить апачу, что сайт нужно обслуживать. Пишем в терминал:
А затем перезагрузим его:
Теперь нам нужно, что бы при вводе в браузере адреса mysite.ru открывался наш локальный сайт, а не с интернета. Поэтому открываем файл hosts:
И в первой строчке, сразу за "127.0.0.1 localhost" прописываем mysite.ru. Должно получиться примерно следующее:
Источник: DnnyRU
Комменты к посту