Краткое описание: В данном руководстве рассматривается установка CMS WordPress на сервер Ubuntu 18.04 TLS.

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

Выбор CMS WordPress как основы для сайта

Мысль про создание личной площадки для написания статей меня неоднократно посещала и я решил её воплотить. Первоначальный образ сайта был примерно таким:

  • будет крутиться у меня на сервере(гипервизор с гостевыми Ubuntu Server).
  • домен в любой доступной зоне(od.ua,net.ua.com.ua и тд).
  • сверху накинется платный шаблон.
  • должен иметь удобный функционал и навигацию в разделе типа “Блог”.

Установка на Ubuntu Server 18.04 TLS

Подготовительные работы завершились и наступило время практической части. Будет использоваться уже привычная связка: Ubuntu Server 18.04 TLS+LAMP+Wordpress.

sudo apt install mysql-client mysql-server apache2 unzip mc -y
sudo mysql -u root -p

CREATE DATABASE mysite_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL ON mysite_db.* TO 'root'@'localhost' IDENTIFIED BY 'mysite_password';
FLUSH PRIVILEGES;
exit;

sudo apt install php libapache2-mod-php php-mysql
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
sudo systemctl restart apache2

sudo nano /etc/apache2/sites-available/mysite.conf
#Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/www/html/mysite"
    ServerName mysite.com.ua
ServerAlias www.mysite.com.ua

Redirect permanent / https://mysite.com.ua/
<Directory /var/www/html/mysite/>
    AllowOverride All
</Directory>
</VirtualHost>

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

#Listen SSL
<VirtualHost *:443>
 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl/certificate.crt
 SSLCertificateKeyFile /etc/apache2/ssl/private.key
    DocumentRoot "/var/www/html/mysite"
    ServerName mysite.com.ua
<Directory /var/www/html/mysite/>
    AllowOverride All
</Directory>
</VirtualHost>

sudo ln -s /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled
sudo a2enmod rewrite
sudo a2enmod ssl

sudo nano /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

sudo apache2ctl configtest
sudo systemctl restart apache2
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

sudo nano /tmp/wordpress/.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
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
mkdir /tmp/wordpress/wp-content/upgrade
sudo cp -a /tmp/wordpress/. /var/www/html/mysite
sudo chown -R www-data:www-data /var/www/html/mysite

sudo find /var/www/html/mysite/ -type d -exec chmod 750 {} \;
sudo find /var/www/html/mysite/ -type f -exec chmod 640 {} \;

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

sudo nano /var/www/html/mysite/wp-config.php
define('AUTH_KEY',         'L_f<sw9Dn%8EoYBwX;XXfp/-,O{>MQ}SM- uwt=^^ru[=<V+in;_!Y Wrw!11111');
define('SECURE_AUTH_KEY',  '6/~d-KsMdz]E+><4Kc*}[&Ys3*JZ_3.|%|5gIBpc6W=J2o1F%E2>^6b.kS522222');
define('LOGGED_IN_KEY',    'XgpB+5+CDhmP-u8O;cN=a~&z0/Ig$#W=f>=yV6-e$=!-Nm9Gh~fW|nxR;Yg33333');
define('NONCE_KEY',        '/Wyl@7k7+QN=jP-.xS87H|py06w*f6_WszykibK4Oibb1Y!-7sE8nYA-l)*44444');
define('AUTH_SALT',        'X+kKpc~Hve+|0ur7D3rFNB14/c*y+G{9VUFX]8o!1|`RY]5c++DqRTGapG+55555');
define('SECURE_AUTH_SALT', 'Uxj]Te9zh3Oc%<NL$I9Zj=*NUlgTX#B.#8+tr/),iS(vooWAG `=g+Ay{]r66666');
define('LOGGED_IN_SALT',   'z2x7Ag?dz6}O>6rDO&_?dB:,4EKMJ#mqd(,wdB,?EkpHH^52Oj#;4@ |(l|77777');
define('NONCE_SALT',       '`Q/>uojC1+U_u!6TRA#rER@V+=X84+iaL}+:Z#COyFY`y#M06&J+Jrs9/[W88888');
. . .

define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');

Подключение адаптивного шаблона

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓

Самая увлекательная часть в запуске сайта это шаблон, процесс похож на примерку одежды в бутике. Ссылка с шаблоном обошлась в 51$. В нем было все и немножко даже больше чем я ожидал, поэтому покупкой доволен на все 100. Из затратной части на этом же этапе был куплен домен topnet.com.ua за 10$ открывая для меня перспективу долгой настройки.

Презентация работы, внутренняя структура сайта

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

  • Главная страница с со слайдами и разной анимацией(ссылка).
  • Читабельная страница услуг(ссылка).
  • Анимационные эскизы проектов(ссылка).
  • И конечно же дополнительная навигация в разделе блог(ссылка).
  • Пример страницы с добавлением различных анимационных объектов(ссылка).

Приведен пример только части страниц, которые есть в шаблоне. Кроме этого: куча визуальных элементов, страница контактов, интернет магазин.

Резюмируя проведенные работы можно смело утверждать что WordPress это просто, функционально и современно!

Установка WordPress Ubuntu, пример работы сайта

С успешным реализованным проектом можно ознакомиться по ссылке.

Понравилась статья, отблагодари автора, посмотри рекламу. СпасибоПоддержи автора статьи, просмотри рекламу ↓↓↓