Orange Pi PC 2 на четырех-ядерном 64-bit микроконтроллере Allwiner H5 (ARM Cortex A-53), 1Gb оперативной памяти, 1Gb ethernet – достаточно производительный, экономичный сервер для хостинга WEB сайтов. Стоимость оборудования и затраты на электроэнергию будут в несколько тысяч раз ниже, чем с использованием сервера хостинг провайдера.

В качестве операционной системы для веб сервера на платформе Orange Pi PC 2 мы используем Linux Armbian. Скачайте дистрибутив Armbian server с сайта разработчика. Распакуйте и установите дистрибутив Armbian server на Micro SD Flash карту:

sudo dd if=Armbian_5.27.170614_Orangepipc2_Ubuntu_xenial_dev_4.11.1.img of=/dev/sdb

Напоминаем Flash карта во время работы команды dd должна быть отмонтирована, например с помощью утилиты GParted.

В только что установленной Armbian пользователь root, пароль 1234. В первую очередь нам предлагается создать новый пароль для root, нового пользователя с паролем и перезагрузить сервер:

The authenticity of host '192.168.1.24 (192.168.1.24)' can't be established.
ECDSA key fingerprint is dd:7d:a3:4f:4b:30:0a:f0:b6:fa:4a:4c:2f:5d:34:e1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.24' (ECDSA) to the list of known hosts.
root@192.168.1.24's password: 
You are required to change your password immediately (root enforced) 
  ___                               ____  _   ____   ____ ____  
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_) |  _ \ / ___|___ \ 
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | | | |_) | |     __) |
| |_| | | | (_| | | | | (_| |  __/ |  __/| | |  __/| |___ / __/ 
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| |_|    \____|_____|
                       |___/                                    

Welcome to ARMBIAN 5.27.170614 nightly Ubuntu 16.04.2 LTS 4.11.1-sun50iw2   
System load:   0.09 0.09 0.04  	Up time:       4 min		
Memory usage:  3 % of 986MB  	IP:            192.168.1.24
CPU temp:      30°C           	
Usage of /:    9% of 15G    	

[ General system configuration: armbian-config ]
New to Armbian? Check the documentation first: https://docs.armbian.com

Changing password for root.
(current) UNIX password: 

Добавим нового пользователя, например, “webmaster” в группу sudo

usermod -a -G sudo webmaster

Запретим пользователю root удаленный доступ по SSH, для этого в файле /etc/ssh/sshd_config пропишем соответствующие настройки:

# Authentication:
LoginGraceTime 120
PermitRootLogin no 
StrictModes yes

Перезапустим OpenSSH сервер

sudo /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.

Обновим систему

root@orangepipc2:~# apt upgrade

Подключим поддержку русского языка

root@orangepipc2:~# dpkg-reconfigure locales

Package configuration                                                           
                                                                                
 ┌──────────────────────────┤ Configuring locales ├──────────────────────────┐  
 │ Locales are a framework to switch between multiple languages and allow    │  
 │ users to use their language, country, characters, collation order, etc.   │  
 │                                                                           │  
 │ Please choose which locales to generate. UTF-8 locales should be chosen   │  
 │ by default, particularly for new installations. Other character sets may  │  
 │ be useful for backwards compatibility with older systems and software.    │  
 │                                                                           │  
 │ Locales to be generated:                                                  │  
 │                                                                           │  
 │    [*] ru_RU ISO-8859-5                                               ↑   │  
 │    [*] ru_RU.CP1251 CP1251                                            ▒   │  
 │    [*] ru_RU.KOI8-R KOI8-R                                            ▮   │  
 │    [*] ru_RU.UTF-8 UTF-8                                              ▒   │  
 │    [ ] ru_UA KOI8-U                                                   ↓   │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  
                                                                                
Package configuration                                                           
                                                                                
 ┌──────────────────────────┤ Configuring locales ├──────────────────────────┐  
 │ Many packages in Debian use locales to display text in the correct        │  
 │ language for the user. You can choose a default locale for the system     │  
 │ from the generated locales.                                               │  
 │                                                                           │  
 │ This will select the default language for the entire system. If this      │  
 │ system is a multi-user system where not all users are able to speak the   │  
 │ default language, they will experience difficulties.                      │  
 │                                                                           │  
 │ Default locale for the system environment:                                │  
 │                                                                           │  
 │                              ru_RU           ↑                            │  
 │                              ru_RU.CP1251    ▒                            │  
 │                              ru_RU.KOI8-R    ▮                            │  
 │                              ru_RU.UTF-8     ↓                            │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  
                                                                                
root@orangepipc2:~# dpkg-reconfigure console-setup

Package configuration                                                           
                                                                                
                    ┌────┤ Configuring console-setup ├─────┐                    
                    │                                      │                    
                    │                                      │                    
                    │ Encoding to use on the console:      │                    
                    │                                      │                    
                    │          ISO-8859-4          ↑       │                    
                    │          ISO-8859-5          ▒       │                    
                    │          ISO-8859-6          ▒       │                    
                    │          ISO-8859-7          ▒       │                    
                    │          ISO-8859-8          ▒       │                    
                    │          ISO-8859-9          ▒       │                    
                    │          KOI8-R              ▒       │                    
                    │          KOI8-U              ▮       │                    
                    │          TIS-620             ▒       │                    
                    │          UTF-8               ↓       │                     
                    │                                      │                    
                    └──────────────────────────────────────┘                    
                                                                                
Package configuration                                                           
                                                                                
┌────────────────────────┤ Configuring console-setup ├─────────────────────────┐
│ Please choose the character set that should be supported by the console      │
│ font.                                                                        │
│                                                                              │
│ If you don't use a framebuffer, the choices that start with "." will         │
│ reduce the number of available colors on the console.                        │
│                                                                              │
│ Character set to support:                                                    │
│                                                                              │
│    . Arabic                                                               ↑  │
│    # Armenian                                                             ▮  │
│    # Cyrillic - KOI8-R and KOI8-U                                         ▒  │
│    # Cyrillic - non-Slavic languages                                      ▒  │
│    # Cyrillic - Slavic languages (also Bosnian and Serbian Latin)         ▒  │
│    . Ethiopic                                                             ↓  │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
                                                                                
Package configuration                                                           
                                                                                
 ┌───────────────────────┤ Configuring console-setup ├───────────────────────┐  
 │ "VGA" has a traditional appearance and has medium coverage of             │  
 │ international scripts. "Fixed" has a simplistic appearance and has        │  
 │ better coverage of international scripts. "Terminus" may help to reduce   │  
 │ eye fatigue, though some symbols have a similar aspect which may be a     │  
 │ problem for programmers.                                                  │  
 │                                                                           │  
 │ If you prefer a bold version of the Terminus font, choose either          │  
 │ TerminusBold (if you use a framebuffer) or TerminusBoldVGA (otherwise).   │  
 │                                                                           │  
 │ Font for the console:                                                     │  
 │                                                                           │  
 │                  Fixed                                    ↑               │  
 │                  Terminus                                 ▮               │  
 │                  TerminusBold                             ↓               │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  
                                                                                
Package configuration                                                           
                                                                                
 ┌───────────────────────┤ Configuring console-setup ├───────────────────────┐  
 │ Please select the size of the font for the console.  For reference, the   │  
 │ font used when the computer boots has size 8x16.  Some font sizes         │  
 │ require the kbd console package (not console-tools) plus framebuffer.     │  
 │                                                                           │  
 │ Font size:                                                                │  
 │                                                                           │  
 │                                   8x13                                    │  
 │                                   8x14                                    │  
 │                                   8x15                                    │  
 │                                   8x16                                    │  
 │                                   8x18                                    │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  
                                                                                
root@orangepipc2:~# dpkg-reconfigure tzdata

Package configuration                                                           
                                                                                
  ┌─────────────────────────┤ Configuring tzdata ├──────────────────────────┐   
  │ Please select the geographic area in which you live. Subsequent         │   
  │ configuration questions will narrow this down by presenting a list of   │   
  │ cities, representing the time zones in which they are located.          │   
  │                                                                         │   
  │ Geographic area:                                                        │   
  │                                                                         │   
  │                          Asia                  ↑                        │   
  │                          Atlantic Ocean        ▒                        │   
  │                          Europe                ▒                        │   
  │                          Indian Ocean          ▒                        │   
  │                          Pacific Ocean         ▮                        │   
  │                          System V timezones    ▒                        │   
  │                          US                    ▒                        │   
  │                          None of the above     ↓                        │   
  │                                                                         │   
  └─────────────────────────────────────────────────────────────────────────┘   
                                                                                
Package configuration                                                           
                                                                                
     ┌───────────────────────┤ Configuring tzdata ├───────────────────────┐     
     │ Please select the city or region corresponding to your time zone.  │     
     │                                                                    │     
     │ Time zone:                                                         │     
     │                                                                    │     
     │                           Luxembourg     ↑                         │     
     │                           Madrid         ▒                         │     
     │                           Malta          ▒                         │     
     │                           Mariehamn      ▒                         │     
     │                           Minsk          ▮                         │     
     │                           Monaco         ▒                         │     
     │                           Moscow         ▒                         │     
     │                           Nicosia        ▒                         │     
     │                           Oslo           ▒                         │     
     │                           Paris          ↓                         │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                
root@orangepipc2:~# dpkg-reconfigure keyboard-configuration

Package configuration                                                           
                                                                                
─────────────┤ Configuring keyboard-configuration ├─────────────────────────────
the model of the keyboard of this machine.

:

     Do not configure keyboard; keep kernel keymap                           ↑
     DTK2000                                                                 ▒
     Ennyah DKB-1008                                                         ▒
     Everex STEPnote                                                         ▮
     FL90                                                                    ▒
     Fujitsu-Siemens Computers AMILO laptop                                  ▒
     Generic 101-key PC                                                      ▒
     Generic 102-key (Intl) PC                                               ▒
     Generic 104-key PC                                                      ▒
     Generic 105-key (Intl) PC                                               ↓

────────────────────────────────────────────────────────────────────────────────
                                                                                
Package configuration                                                           
                                                                                
  ┌──────────────────┤ Configuring keyboard-configuration ├──────────────────┐  
  │ The layout of keyboards varies per country, with some countries having   │  
  │ multiple common layouts. Please select the country of origin for the     │  
  │ keyboard of this computer.                                               │  
  │                                                                          │  
  │ Country of origin for the keyboard:                                      │  
  │                                                                          │  
  │               Portuguese                                   ↑             │  
  │               Portuguese (Brazil)                          ▒             │  
  │               Romanian                                     ▒             │  
  │               Russian                                      ▒             │  
  │               Serbian                                      ▮             │  
  │               Sinhala (phonetic)                           ▒             │  
  │               Slovak                                       ▒             │  
  │               Slovenian                                    ↓             │  
  │                                                                          │  
  │                                                                          │  
  │                                                              │  
  │                                                                          │  
  └──────────────────────────────────────────────────────────────────────────┘  
                                                                                
Package configuration                                                           
                                                                                
     ┌──────────────┤ Configuring keyboard-configuration ├───────────────┐      
     │ Please select the layout matching the keyboard for this machine.  │      
     │                                                                   │      
     │ Keyboard layout:                                                  │      
     │                                                                   │      
     │             Russian                                   ↑           │      
     │             Russian - Bashkirian                      ▮           │      
     │             Russian - Chuvash                         ▒           │      
     │             Russian - Chuvash (Latin)                 ▒           │      
     │             Russian - Kalmyk                          ▒           │      
     │             Russian - Komi                            ▒           │      
     │             Russian - Mari                            ▒           │      
     │             Russian - Ossetian (legacy)               ▒           │      
     │             Russian - Ossetian (WinKeys)              ▒           │      
     │             Russian - Russian (DOS)                   ↓           │      
     │                                                                   │      
     └───────────────────────────────────────────────────────────────────┘      
                                                                                
Package configuration                                                           
                                                                                
 ┌──────────────────┤ Configuring keyboard-configuration ├───────────────────┐  
 │                                                                           │  
 │ You will need a way to toggle the keyboard between the national layout    │  
 │ and the standard Latin layout.                                            │  
 │                                                                           │  
 │ Right Alt or Caps Lock keys are often chosen for ergonomic reasons (in    │  
 │ the latter case, use the combination Shift+Caps Lock for normal Caps      │  
 │ toggle). Alt+Shift is also a popular combination; it will however lose    │  
 │ its usual behavior in Emacs and other programs that use it for specific   │  
 │ needs.                                                                    │  
 │                                                                           │  
 │ Not all listed keys are present on all keyboards.                         │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  
                                                                                
Package configuration                                                           
                                                                                
           ┌────────┤ Configuring keyboard-configuration ├─────────┐            
           │ Method for toggling between national and Latin mode:  │            
           │                                                       │            
           │               Caps Lock                  ↑            │            
           │               Right Alt (AltGr)          ▒            │            
           │               Right Control              ▒            │            
           │               Right Shift                ▒            │            
           │               Right Logo key             ▒            │            
           │               Menu key                   ▮            │            
           │               Alt+Shift                  ▒            │            
           │               Control+Shift              ▒            │            
           │               Control+Alt                ▒            │            
           │               Alt+Caps Lock              ▒            │            
           │               Left Control+Left Shift    ▒            │            
           │               Left Alt                   ↓            │            
           │                                                       │            
           └───────────────────────────────────────────────────────┘            
                                                                                
Package configuration                                                           
┌──────────────────┤ Configuring keyboard-configuration ├───────────────────┐ │ When the keyboard is in national mode and one wants to type only a few │ │ Latin letters, it might be more appropriate to switch temporarily to │ │ Latin mode. The keyboard remains in that mode as long as the chosen key │ │ is kept pressed. That key may also be used to input national letters │ │ when the keyboard is in Latin mode. │ │ │ │ You can disable this feature by choosing "No temporary switch". │ │ │ │ Method for temporarily toggling between national and Latin input: │ │ │ │ No temporary switch │ │ Both Logo keys │ │ Right Alt (AltGr) │ │ Right Logo key │ │ Left Alt │ │ Left Logo key │ │ │ └───────────────────────────────────────────────────────────────────────────┘ Package configuration ┌──────────────────┤ Configuring keyboard-configuration ├───────────────────┐ │ With some keyboard layouts, AltGr is a modifier key used to input some │ │ characters, primarily ones that are unusual for the language of the │ │ keyboard layout, such as foreign currency symbols and accented letters. │ │ These are often printed as an extra symbol on keys. │ │ │ │ Key to function as AltGr: │ │ │ │ The default for the keyboard layout ↑ │ │ No AltGr key ▮ │ │ Right Alt (AltGr) ▒ │ │ Right Control ▒ │ │ Right Logo key ▒ │ │ Menu key ▒ │ │ Left Alt ↓ │ │ │ └───────────────────────────────────────────────────────────────────────────┘ Package configuration ┌──────────────────┤ Configuring keyboard-configuration ├───────────────────┐ │ The Compose key (known also as Multi_key) causes the computer to │ │ interpret the next few keystrokes as a combination in order to produce a │ │ character not found on the keyboard. │ │ │ │ On the text console the Compose key does not work in Unicode mode. If │ │ not in Unicode mode, regardless of what you choose here, you can always │ │ also use the Control+period combination as a Compose key. │ │ │ │ Compose key: │ │ │ │ No compose key ↑ │ │ Right Alt (AltGr) ▮ │ │ Right Control ▒ │ │ Right Logo key ↓ │ │ │ └───────────────────────────────────────────────────────────────────────────┘ root@orangepipc2:~# nano /etc/default/locale ──────────────────────────────────────────────────────────────────────────────── GNU nano 2.5.3 File: /etc/default/locale Modified ──────────────────────────────────────────────────────────────────────────────── # File generated by update-locale LC_MESSAGES=ru_RU.UTF-8 LANGUAGE=ru_RU.UTF-8 LANG=ru_RU.UTF-8 ──────────────────────────────────────────────────────────────────────────────── ^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos ^X Exit ^R Read File ^\ Replace ^U Uncut Text^T To Spell ^_ Go To Line ──────────────────────────────────────────────────────────────────────────────── root@orangepipc2:~# reboot

 Настроим статический IP для Web сервера на Orange Pi PC 2

root@orangepipc2:~# nano /etc/network/interfaces

 ──────────────────────────────────────────────────────────────────────────────
  GNU nano 2.5.3         File: /etc/network/interfaces                Modified  
 ──────────────────────────────────────────────────────────────────────────────
source /etc/network/interfaces.d/*

# Wired adapter #1
allow-hotplug eth0
no-auto-down eth0
iface eth0 inet static
address 192.168.1.220
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
#       hwaddress ether # if you want to set MAC manually
#       pre-up /sbin/ifconfig eth0 mtu 3838 # setting MTU for DHCP, static just$

Перезагрузите микрокомпьютер

root@orangepipc2:~# reboot

Выключите компьютер.

root@orangepipc2:~# shutdown -hP now

На другой Linux системе сделайте копию папки /var с загрузочного Micro SD Flash диска в корень заранее отформатированного (ext4) USB Flash диска.

cd /media/00f42023-d4d4-499b-9a57-e3c8d029e8e4/var
sudo tar -cvf ~/vararmbian.tar *
sudo tar -xvf ~/vararmbian.tar -C /media/e54730e0-e6e6-4fe2-a82d-37fef0a2cbf1

Копирование с применением утилиты tar мы использовали ради сохранения прав доступа к файлам в каталоге /var.

Верните на место загрузочный Micro SD Flash диск с операционной системой Armbian server и вставьте в микрокомпьютер USB Flash диск с копией каталога /var.

Определите какое имя дала система вашему USB Flash диску, как блочному устройству:

root@orangepipc2:~# blkid

Добавьте в файл /etc/fstab строку

/dev/sda1 /var ext4 defaults 0 2

и перезагрузите Orange Pi PC 2

root@orangepipc2:~# reboot

Установим утилиту tasksel

root@orangepipc2:~# apt install tasksel

Установка LAMP сервера – Linux, Apache, MySQL, PHP.

root@orangepipc2:~# tasksel install lamp-server

В процессе установки Веб сервера Вам будет необходимо ввести пароль для пользователя root базы данных MySQL.

Настроим виртуальный хостинг на сервере Apache. Для этого, добавьте в файл конфигурации apache /etc/apache2/apache2.conf следующие строки:

# Настройка виртуального хостинга с одним IP
UseCanonicalName Off
VirtualDocumentRoot /var/www/%0
VirtualScriptAlias /var/www/%0/cgi-bin
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
#CustomLog /var/log/apache2/access_log vcommon
CustomLog /dev/null vcommon

# Включить поддержку PHP на HTML страницах
AddType application/x-httpd-php .php .htm .html

AccessFileName .htaccess
<Directory "/var/www/*">
AllowOverride All
</Directory>

Создайте символическую ссылку:

ln -s /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled/

Перезагрузите Apache:

/etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.

Готово! Размещайте свои сайты в каталогах /var/www/cite-name.ru

P.S.

Для установки SMS Joomla необходимо доустановить несколько модулей PHP и перезагрузить сервер

apt install php-zip
apt install php-xml
apt install php-mcrypt /etc/init.d/apache2 restart