Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Digital Ocean ч.2


http://romach.ru - другие статьи по теме и работы автора.

 Автор будет благодарен, если вы зайдете, почитаете, прокомментируете и нажмете кнопочку соц.сетей.


Продолжение статьи о Digital Ocean. Первую часть вы можете найти на сайте рассылок или у меня

Примечание: совершенно непонятной мне магией subscribe время от времени режет по строкам то что не нужно. Поэтому листинг кода, команды и прочее  лучше брать с моего сайта. Я не знаю как это побороть )


Что теперь?

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

Жмем раздел “Droplets”, выбираем наш и тыкаем большую “Console Access”. Откроется черный экранчик в котором нас попросят ввести пароль (его должны прислать по почте). Вводите, только учтите что есть одно веселое свойство – при вводе пароля курсор не отображается, да и вообще никаких признаков жизни. Тут такое в порядке вещей )

О консоли

Немного отвлечемся. Консоль пугает неподготовленный разум, но на самом деле ничего тут страшного нет. Немного разобравшись в вопросе вы поймете, что зайти на сервер через SSH и ввести пару команд гораздо быстрее, чем мыкаться по менюшкам очередной CPanel. Принцип тут прост:

  • Далее будут команды с некоторыми пояснениями, можете их просто копировать, вставлять, жать enter и отвечать на вопросы согласно инструкции.
  • На  будущее: сообщество убунтоводов огромно и подробно описано буквально всё. Скажем если вам внезапно понадобилось установить curl, так и пишите в гугл “ubuntu curl install”, ответ будет в первых же строчках.
  • С возникающими время от времени ошибками и ругательствами тоже самое – копируете их прямо в гугль и читаете инструкцию по исправлению.
А ещё, Ubuntu – это не только командная строка, но и вполне реальный заменитель винды с очень даже приличным интерфейсом. Если вы всерьез задумались о веб-разработке, подумайте и о переезде на Linux. Ну или о виртуальной машине с убунтой )

Apache2 + PHP + MySQL

Итак, попадаем в консоль и пишем там (Ctrl-C, Ctrl-V должны работать. И с паролем тоже):
# Строки начинающиеся с решетки - комментарии.
# Строчки вводить по очереди, по мере выполнения.
# На такие запросы: Do you want to continue [Y/n]? как правило нужно написать "y" и нажать enter.

# Обновляем систему до актуального состояния
sudo apt-get update
sudo apt-get upgrade

# Теперь ставим tasksel, но скорее всего он уже у вас есть.
sudo apt-get install tasksel

# Ставим LAMP
sudo tasksel install lamp-server

Появится некоторое подобие интерфейса с загрузкой компонентов. Ждем.

 

ОК, теперь он спросит у нас ” New password for the MySQL “root” user”, т.е. пароль для пользователя БД. Только не ленитесь – буквы, цифры и много-много знаков.

Установка закончилась, но нам нужно слегка допилить MySQL:

sudo mysql_secure_installation
Отвечаем на вопросы:
  • Enter current password for root – вводите пароль от БД
  • Change the root password? пишите “n” – незачем нам его менять пока.
  • Remove anonymous users? y – не нужны нам анонимы
  • Disallow root login remotely? y – и внешний доступ к БД
  • Remove test database and access to it? y – да и тестовые базы
  • Reload privilege tables now?  y – перезагружаем

PHPMyAdmin

Теперь самое время для PHPMyAdmin:
sudo apt-get install
phpmyadmin
Он спросит нас вебсервер – выбираете Apache2, затем пароль от БД и в конце пароль для себя. Тут просто жмете enter и он сам его придумает.

Проверяем: заходим на http://ваш-домен.com/phpmyadmin/, вводим логин/пароль БД – работает.

WordPress

В качестве примера установим “самый популярный блоговый движок” )
Примечание: в Ubuntu 14 корень сайта по умолчанию будет /var/www/html, в более ранних версиях /var/www.
#
Идем в корень нашего сайта
cd /var/www/html
#При желании можно осмотреться на тему чего тут лежит
ls
# И удалить index.html, он нам совершенно не к чему
rm index.html
# А теперь идем в /tmp, куда качаем всю времянку
cd /tmp
# Скачиваем WP
wget http://wordpress.org/latest.tar.gz
# И распаковываем архив
tar xzvf latest.tar.gz
# Теперь нам нужно слегка обновить PHP
sudo apt-get install php5-gd libssh2-php
# Кстати, установка либ под виндой привела бы нас 
# в конфиги php что бы добавить туда-сюда нужные строчки. Тут оно само )
# Копируем WP в корневой каталог сайта
sudo cp -r wordpress/* /var/www/html
# И удаляем его из /tmp
sudo rm -rf wordpress/
# Создаем каталог для загрузок
mkdir /var/www/html/wp-content/uploads
# Даем апачу права на каталог
sudo chown -R www-data /var/www/html
# Возможно понадобится установить разрешения
sudo chmod -R 755 www-data /var/www
Итак, с файлами мы разобрались, теперь идем в PHPMyAdmin и создаем там БД для WP. Это кстати можно сделать и в консоли, если вам вдруг понравилось чувствовать себя бородатым админом )
# Подключаемся к MySQL
mysql -uroot -p12345

# Тут после -u сразу пишется пользователь, после -p - пароль.
# Появляется новая строка приветствия в которую можно напрямую писать запросы
CREATE DATABASE wordpress;

# Проверим
SHOW DATABASES;

# В целях безопасности мы можем создать своего пользователя для БД WP
grant usage on *.* to username@localhost identified by ‘userpasswd’;

# username и userpasswd тут соответственно пользователь и пароль.
# Даем нашему пользователю права на БД
grant all privileges on wordpress.* to username@localhost;

# Выходим
exit;

Теперь идем по адресу http://ваш-домен.com и устанавливаем WordPress как обычно.

И?

WordPress стоит и с ним уже можно работать, но что мы сделали? По сути повторили самый обычный хостинг потратив на это кучу времени и сил? В целом оно так, но вы сделали это сами, один на один с консолью, а значит в состоянии развернуть и более взрослый сервер с nginx, php-fpm, git / composer, ruby, прочими крутыми вещами и очень скоро вас уже не испугает фраза из руководства Laravel:
Вы можете установить Laravel с помощью команды:
composer create-project laravel/laravel –prefer-dist

Это кстати гораздо быстрее чем качать архивы, распаковывать, а потом куда-нибудь заливать.


Далее тема будет посерьезнее и потому в качестве затравки в следующем выпуске я расскажу о php-фреймворке Laravel. Он кстати запустится и на обычных хостингах, если там есть нормальный доступ по SSH. Ну а по сегодняшней теме - Ngnix (как более быстрый и удобный заменитель Apache), Passenger (что бы заработали Ruby с Rails, Node и прочие пайтоны) и PHP-FPM. Говоря проще - более грамотная и оптимальная настройка.

 


В избранное