понедельник, 30 июня 2014 г.


Сказ о том, как lamp на debian поднимался

Сперва казалось, что все должно устанавливаться и запускаться чуть ли ни одной командой. В виндах и маках для этих целей есть удобные сборочки, wamp и mamp, которые устанавливаются парой кликов и не требуют никаких настроек. Но сервер на виндах это дорого и неудобно, да и непонятно где заказывать.

Выбор пал на облачный хостинг Clodo, который я использовал ранее и который казался мне надежным. Забыл проплатить сервер, они прислали сообщение что пару дней удалят мою машину, если я ее не проплачу. Проплатить сервер не проблема. Они не учли одного - сообщение попало в спам, и когда я его прочитал, они уже удалили мой сервер.

При установке руководствовался замечательным гайдом от digital ocean. Сначала пробовал установить все без помощи руководств, думая что никаких подводных камней тут не встретить. Ошибался, один вечер убил пытаясь все установить самостоятельно, проблемы возникали различные, например было непонятно, какой пароль по умолчанию был установлен для базы данных. Руководствуюясь гайдами можно все установить минут за 20.

Установка системы

Во всех соверменных хостингах установка системы с настройками по умолчанию совершается одной кнопкой. Как установить систему на VPS этот гайд не расскажет. Я установил на Clodo автоматически Debian.

Соединяемся по ssh с сервером

Если ssh не установлен, устанавливаем его и открываем доступ к порту

sudo apt-get update
 sudo apt-get install openssh-server
 sudo ufw allow 22
 

Проверяем версию linux

root@6781-2:~# cat /etc/*-release
 PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
 NAME="Debian GNU/Linux"
 VERSION_ID="7"
 VERSION="7 (wheezy)"
 ID=debian
 ANSI_COLOR="1;31"
 HOME_URL="http://www.debian.org/"
 SUPPORT_URL="http://www.debian.org/support/"
 BUG_REPORT_URL="http://bugs.debian.org/"

Установка Apache

apt-get install apache2

Заходим на айпи сервера, видим надпись - "it works!".

Ставим mysql

apt-get install mysql-server

Установщик попросит задать пароль пароль на root доступ к базе данных

Чтобы закончить установку mysql вводим:

mysql_secure_installation

Консоль запросит пароль root от базы данных. Тут можно выбрать откуда давать доступ: только с localhost или отовсюду

Чтобы зайти в mysql базу данных надо ввести mysql -u root -p. Причем пароль в комманде не указывается, а если же его указать, программа подумает что мы хотим присоединиться к пазе данных, название которой соответствует нашему паролю.

Установим php

apt-get install php5 php-pear php5-mysql

Перезагрузим апач

service apache2 restart

Проверяем что php работает

Создаем файл info.php в директории /var/www (директория веб сервера по умолчанию)

nano /var/www/info.php

С содержимым

<?php
phpinfo();
?>
 

И проверяем через браузер: http://yourip/info.php

Ставим phpmyadmin

sudo apt-get install phpmyadmin

При установке надо ввести root пароль от базы. После установки нужно не забыть прописать phpmyadmin в apache:

sudo nano /etc/apache2/apache2.conf

В конец файла добавляем строку

Include /etc/phpmyadmin/apache.conf

Перезагрузим апач

service apache2 restart

Теперь можно заходить в phpmyadmin по адресу http://youripaddress/phpmyadmin

Удаленный доступ к базе данных

Для того, чтобы программы могли соединяться с базой удаленно пришлось закомментировать строку в файле /etc/mysql/my.cnf

#bind-address 127.0.0.1

Теперь доступ к mysql извне открыт и надо создать нового пользователя с правами на удаленный доступ (или установить права у уже созданного). Желательно, чтобы у этого пользователя не было доступа к системным базам данным, а только к тем, которые нужны.

shell> mysql --user=root mysql
  CREATE USER 'video'@'localhost' IDENTIFIED BY 'hereyourpassword';
 
  GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
   ON echoprint.*
   TO 'video'@'localhost';
 
  GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
  ON echoprint.*
   TO 'video'@'%';

  FLUSH PRIVILEGES;
 

Список используемой литературы

Доступ к базе отовсюду
Как устанавливать phpmyadmin на debian