Web-server на ubuntu за п'ять хвилин частина 1

Web-Server на ubuntu за п'ять хвилин частина 1

Dnny

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 "тут назву пакета для видалення"

sudo apt-get install apache2

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

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 - перезапустити

Відразу встановимо бібліотеки для роботи з м'язом і бібліотеки для роботи з графікою:

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

sudo apt-get install mysql-server

Під час установки MySQL, з'явиться віконце, в яке потрібно ввести пароль. За замовчуванням MySQL створює адміністративного користувача з ім'ям root. У цей віконце потрібно вписати пароль для цього користувача і натиснути Enter, потім повторно ввести пароль. Не забудьте записати пароль.

Якщо хочете поміняти пароль на Mysql, це я до того, що якщо ви ставили російську версію ubuntu то іноді незрозуміло якою мовою ви вводите, то замінити можна так:

потім поточний пас.

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

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

Взагалі все перезавантажується автоматично, але якщо раптом, то перезавантажуємо:

Mysql /etc/init.d/mysql restart

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

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

sudo apt-get install phpmyadmin

Після закінчення встановлення з'явиться віконце, в якому потрібно вибрати сервер apache2 (клавішею пробіл) і натиснути Enter. Далі вам запропонують створити базу даних для phpMyAdmin. Виберіть Так і натисніть Enter. Далі введіть пароль адміністративної облікової. Потім введіть пароль для реєстрації phpMyAdmin на сервері баз даних і в наступному віконці підтвердження пароля.

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:

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

Тепер повідомимо Апач про новий сайт. Створюємо файл:

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

І вписуємо туди наступні рядки:



ServerName mysite.ru
ServerAdmin webmaster @ localhost

DocumentRoot /home/username/www/mysite.ru/public_html

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow, deny
allow from all

CustomLog /var/log/apache2/access.log combined

Зберігаємо файл. Тепер потрібно повідомити Апач, що сайт потрібно обслуговувати. Пишемо в термінал:

sudo a2ensite mysite.ru

А потім перезавантажити його:

sudo /etc/init.d/apache2 reload

sudo nano / etc / hosts

І в першому рядку, відразу за "127.0.0.1 localhost" прописуємо mysite.ru. Має вийти приблизно наступне:

127.0.0.1 localhost.localdomain localhost mysite.ru