Подключаем сайт к Ubuntu Server (свой хостинг для сайта)

Продолжаем создавать сервер на обычном компе для своего сайта на Ubuntu Server. И сегодня подключим сервер к сайту.

Скачать исходники для статьи можно ниже

Предыдущие статьи по установке/настройке сервера Ubuntu Server для сайта:
Сервер для сайта: Устанавливаем Ubuntu Server 16
Настраиваем Ubuntu Server (хостинг для сайта на ПК)
Настраиваем Ubuntu Server (хостинг для сайта на ПК) Часть 2

1. Подключаем статический ip адрес.
У меня Ростелеком и на момент написания статьи статический ip стоит 150 руб. в месяц.
Позвонил в службу поддержки Ростелекома и подключил статический ip.
Подключения к интернету было следующим:

Статический IP прописали к MAC адресу роутера. MAC адрес роутера можно посмотреть на обратной стороне роутера (переворачиваем роутер и записываем его MAC, понадобится для настройки), вот примеры:

МАС состоит из 12 знаков (цифры с буквами).

При подключении статического IP в службе поддержки мне дали логин и пароль для создания pppoe соединения. Тоже пригодиться для настройки.

2. Устанавливаем pppoe соединение на Ubuntu Server

После установки статического ip мой ранее установленный сервер перестал видеть интернет – может быть проблема была в чем-то другом – поэтому я заново установил Ubuntu Server 16. Интернет установился автоматически!

Далее я обновил пакеты:

sudo apt-get update -y

И установил Apache:

sudo apt-get install apache2

Чтобы не терять времени (всё остальное настрою потом) запустил команду ifconfig:

Открыл браузер (на другом компе, смартфоне) и ввел ip сайта, на картинке выше это 195.209.66.149 и открылась дефолтная страница Apache:

Сайт работает.

Продолжаем настраивать соединение pppoe.

После этого устанавливаем pppoeconf, вводим следующую команду:

sudo apt-get install pppoeconf

Перед тем как установить соединение PPPoE нам нужно поменять MAC адрес сервера, чтобы он стал таким же как и у роутера (Или же позвонить в службу поддержки Ростелекома и попросить присоединить Статический IP адрес к другому MAC адресу – к MAC адресу вашего сервера, его можно узнать введя команду ifconfig:
И видим нечто вроде:

eth0 Link encap:Ethernet HWaddr <strong>00:0A:E4:53:AA:2D</strong>
inet addr:10.26.49.77 Bcast:10.26.63.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:208554 errors:0 dropped:0 overruns:0 frame:0
TX packets:125071 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:40664531 (38.7 MiB) TX bytes:45919980 (43.7 MiB)
Interrupt:21 Base address:0x4c00

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:18511 errors:0 dropped:0 overruns:0 frame:0
TX packets:18511 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:537155 (524.5 KiB) TX bytes:537155 (524.5 KiB)

00:0A:E4:53:AA:2D – это и есть MAC адрес.

).

Для примера мы временно изменим MAC адрес сервера (будет действовать до перезагрузки сервера) с помощью следующей команды:

sudo ifconfig eth0 hw ether 00:0A:E4:53:AA:2D

То есть для интерфейса под названием eth0 мы присвоим MAC 00:0A:E4:53:AA:2D

Проверить какой Вы используете интерфейс и какой MAC адрес к нему привязался можно с помощью команды ifconfig.

А мы продолжаем настраивать сервер и теперь нам нужно выткнуть сетевой кабель и подключить компьютер непосредственно к Ростелекомовскому модему, в моем примере F612, напомню, что схема соединения у меня следующая:

Здесь вытаскиваем из компа кабель №2 и вставляем в него кабель №1 и схема соединения становится следующей:

Далее осталось создать PPPoE соединения введя при установке логин и пароль, который Вам выдал Ростелеком при подключении статического IP адреса, а для этого вводим следующую команду:

sudo pppoeconf

Утилита выполнит поиск доступных концентраторов PPPoE и в случае успеха перейдет к интерфейсу настройки соединения:

Указываем логин и пароль:

Все соединение настроено! Интернет на сервере работает.

3. Прописываем в А запись домена наш статический IP адрес.

Осталось зайти на сайт регистратора домена и изменить для сайта DNS записи, указав в них наш статический IP адрес.

Сайт открывается, но появилась проблема – работает только главная страница сайта, если перейти на любую другую страницу выходит ошибка, что такая страница на сервере не найдена.

Решил данную проблему следующим образом:

Создал файл .htaccess в корне сайта со следующим кодом:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Далее зашел в конфигурационный файл Apache для моего сайта, в данном примере – это файл site1.conf

sudo nano /etc/apache2/sites-available/site1.conf

И дописал в нем строчки:

<Directory /var/www/site1>
    Options FollowSymLinks
    AllowOverride All
</Directory>

В итоге файл /etc/apache2/sites-available/site1.conf стал выглядеть следующим образом, для примера, статический ip адрес будет 12.34.56.78:


<VirtualHost *:80> 
  ServerName 12.34.56.78
  ServerAdmin user@localhost
  
  DocumentRoot /var/www/site1

<Directory /var/www/site1>
    Options FollowSymLinks
    AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Нажимаем Ctrl+O и Enter, сохраняя изменения. Далее жмем Ctrl+X и выходим из редактора.

Также в командной строке ввел следующую команду:

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

И перезапустил сервер Apache:

sudo apache2ctl restart

После этого ссылки заработали!

Появилась ещё одна проблема – не загружаются изображения на сайт.
Пришлось установить на папку upload права 777 – сделал через webmin панель:

На этом всё! Красивых Вам сайтов!

PS: Также, чтобы сервер мог правильно работать с файлами можно установить пользователя и группу www-data на файлы сайта (в данном примере папка /var/www/site1/html:

sudo chown -R www-data:www-data /var/www/site1/html/
sudo chmod -R 755 /var/www/site1/html/

При переносе на другой сервер, также может получится, что у файлов стал новый владелец, а скрипты из админки wordpress выполняются от имени старого владельца. Проблема может быть решена следующим образом: создать в wordpress нового пользователя, такого же как и владельца файлов на сервере, либо создать пользователя в webmin (выбрать группу www-data для него), такого же как админа на wordpress.

При подключении статического IP пришлось в роутере D-LInk DIR320NRU в пункте “Сеть”, подпункт “Соединения” удалить предыдущее соединение и создать новое:

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий