Mysql

Установка apache mysql php debian: Установка комплекта Linux, Apache, MariaDB, PHP (LAMP) в Debian 9

Содержание

Установка LAMP в Debian/Ubuntu | FORNEX

LAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения, широко используемый во Всемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:

  • Linux — операционная система, на которой разворачивается инфраструктура для создания веб-приложения;

  • Apache — веб-сервер;

  • MariaDB / MySQL — используется для работы с базами данных ;

  • PHP — язык программирования, используемый для создания веб-приложений.

Сперва обновим информацию о пакетах в репозитариях:

# apt-get update

Теперь можно приступать к установке ПО.

Установка Apache

Для этого в командной строке введите:

# apt-get install apache2

Установка MySQL

Введите команду:

# apt-get install mysql-server mysql-client

В процессе установки у вас спросят root пароль для mysql сервера, лучше сразу задать пароль по сложнее, чтобы избежать взлома.

Установка PHP

Можно воспользоваться командой:

# apt-get install php5 php5-mysql

При этом также будет установлен базовый набор расширений PHP и модуль PHP для Apache — libapache2-mod-php5

Добавление сайта

В том случае если у вас планируется размещение более одного сайта на сервере, нужно создавать для всех сайтов VirtualHost в конфигурационных файлах Apache.

В Debian VirtualHost’ы подключаются из отдельной директории /etc/apache2/sites-enabled/

Также лучше создавать отдельный файл на отдельный домен и называть этот файл именем домена.

Создаем конфигурационный файл для домена

Для создания файла выполните команду

touch /etc/apache2/sites-enabled/mysite. com  

Откройте его для редактирования в текстовом редакторе:

<VirtualHost 111.111.111.111:80 >  
       ServerName mysite.com
       ServerAlias www.mysite.com
       DocumentRoot /var/www/sites/mysite.com
       CustomLog /var/www/httpd-logs/mysite.com.access.log combined
       ErrorLog /var/www/httpd-logs/mysite.com.error.log
       AddType application/x-httpd-php .php
</VirtualHost>  
  • вместо 111.111.111.111 — подставляем IP сервера,

  • вместо mysite.com — имя домена.

Создание базы данных в MySQL

Для сайта нужно создать базу данных.

mysql -u root -p  

Создаем БД и дадим на нее права пользователю:

create database db;  
grant all privileges on db.* to 'user'@'localhost' identified by 'password';  

Создание директории сайта и установка CMS

Создадим директории для сайта и логов, а также сами файлы логов:

mkdir /var/www/sites/  
mkdir /var/www/sites/mysite.com  
mkdir /var/www/httpd-logs  
touch /var/www/httpd-logs/mysite.com.access.log  
touch /var/www/httpd-logs/mysite.com.error.log  

Для установки CMS, перейдите в директорию домена и скачайте дистрибутив нужной CMS:

cd /var/www/sites/mysite.com  
wget https://ru.wordpress.org/latest-ru_RU.zip  

После чего разархивируем скачанный архив:

unzip wordpress-4.9.4-ru_RU.zip  

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

⚙КАК УСТАНОВИТЬ ЛАМПУ (APACHE, MYSQL, PHP) НА DEBIAN 8

Apache — это веб-сервер с открытым исходным кодом, который можно использовать на платформах Windows, Unix, Macintosh и т. Д., Основной целью которых является предоставление безопасных, эффективных и надежных служб http. Мы можем увидеть больше об Apache на его официальном сайте. Apache обычно устанавливается с рядом языков, известных как LAMP:

Содержание лампы

  • L inux (Операционная система)
  • Пач (веб-сервер)
  • MySQL или MariaDB (база данных)
  • P HP (динамический контент)

Мы проанализируем, как установить этот пакет LAMP в нашей среде Debian 8 . Помните, что с LAMP у нас есть возможность размещать как сайты, так и веб-приложения с вышеупомянутыми компонентами.

примечание

Помните, что если мы не являемся пользователями root, мы должны поставить sudo перед выполнением любой операции.

Лучшее, что нужно сделать перед установкой любого приложения, — запустить обновление apt-get, чтобы обновить все пакеты нашей системы Debian 8.

1. Как установить Apache

Для установки Apache мы выполним команду:

 apt-get установить apache2 

Начнется процесс загрузки и установки Apache:

После установки мы можем проверить установку, перейдя в наш браузер и введя IP-адрес, в Debian 8 для проверки нашего IP-адреса мы можем использовать команду ifconfig. В этом случае IP-адрес — 192.168.0.14. При вводе нашего IP в адресную строку, если Apache установлен правильно, мы увидим следующее:

2. Как установить MySQL

Далее мы установим MySQL для доступа к базе данных, для этого выполним следующую команду:

 apt-get установить mysql-сервер 

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

Нажмите Принять, и мы должны подтвердить пароль пользователя root. Как только мы завершим этот процесс, мы выполним скрипт конфигурации MySQL, используя следующую команду:

 mysql_secure_installation 

Мы увидим следующее:

Будет представлен ряд вопросов, которые мы должны настроить в соответствии с нашими потребностями.

3. Как установить PHP

Следующим шагом, который мы выполним, будет установка PHP, для этого мы должны ввести следующую команду:

 sudo apt-get установить php5 php-pear php5-mysql 

Мы видим, что начинается процесс загрузки и установки PHP:

После установки PHP в Debian 8 мы перезапустим службу Apache, используя следующую команду:

 перезапуск службы apache2 

Следующее, что мы собираемся сделать, это отредактировать файл конфигурации PHP, чтобы иметь возможность просматривать его в нашем браузере, для этого мы введем следующий маршрут: nano /var/www/info.php. В развернутом файле мы введем следующие значения:

Мы сохраняем изменения, нажимая комбинацию клавиш CTRL + O, и завершаем работу, используя комбинацию CTRL + X. Теперь мы можем снова войти в наш браузер и проверить правильность установки PHP, введем синтаксис //ip_del_server/info.php, там мы увидим всю информацию, связанную с PHP, SQL и другими параметрами.
Таким образом, мы установили нашу LAMP простым и практичным способом в среде Debian 8 . В Apache есть несколько файлов, которые мы можем настроить в соответствии с необходимостью структуры.

Конфигурирование файлов
a2ensite

С помощью этой команды мы можем включить веб-сайт после редактирования файла конфигурации.
a2dissite

С помощью этой команды мы можем отключить сайт, используя файл конфигурации
a2enmod

Эта опция полезна для добавления дополнительных модулей в Apache
a2dismod

Эта опция полезна для удаления дополнительных модулей в Apache
a2query

С помощью этой альтернативы мы можем делать запросы о веб-сайтах, которые в настоящее время включены

Давайте применим эти замечательные утилиты, включенные в LAMP, и максимально используем наш сервер Debian 8.

Заметки о решаемых задачах АйТишников

 

 

 

Установка LAMP-сервера

LAMP-сервер состоит из трёх основных частей: apache-сервер, php и MariaDB (MySQL).

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

Устанавливаем по порядку все три компоненты LAMP-сервера.

Установка Apache

Выполняем в терминале команду


sudo apt install apache2

Проверяем работу сервера в браузере, перейдя на страницу — http://localhost/

Если видим эту страницу приветствия, то отлично — сервер работает.

На этом этапе трудностей не должно возникнуть.

Установка пакетов PHP

Теперь переходим к установке модулей PHP.

Установим основные модули


sudo apt install php libapache2-mod-php php-mysql

Установка пакетов MariaDB

Сервер баз данных устанавливаем командой


sudo apt install mariadb-server

Устанавливаем phpMyAdmin для управления базами данных

Добавляем модули PHP для работы панели управления базами данных (phpMyAdmin)


sudo apt install php-mbstring php-zip php-gd php-curl php-json php-gettext php-xml php-phpseclib

Переходим в домашний каталог


cd

phpMyAdmin нет в репозиториях Debian, по этому качаем архив с официального сайта.


wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip

Если не установлен распаковщик zip, то устанавливаем


sudo apt install unzip

Распаковываем архив


unzip ~/phpMyAdmin-latest-all-languages.zip

Перемещаем распакованный каталог в каталог файлов конфигурации по умолчанию

Внимание! Название каталога может отличаться от приведённого в примере. По этому в команде, каталог phpMyAdmin-5.0.2-all-languages, замените на тот, который был создан при распаковывании архива phpMyAdmin-latest-all-languages. zip.


sudo mv phpMyAdmin-5.0.2-all-languages/ /usr/share/phpmyadmin

Удаляем скачанный архив


rm ~/phpMyAdmin-latest-all-languages.zip

Настройка phpMyAdmin

Настройка phpMyAdmin состоит из трёх этапов: создание каталога временных файлов, установка нужного владельца на каталог phpmyadmin, создание конфигурационного файла.

Последовательно выполняем следующие команды:

Создаём каталог


sudo mkdir -p /var/lib/phpmyadmin/tmp

Устанавливаем владельца


sudo chown -R www-data:www-data /var/lib/phpmyadmin

Создаём конфигурационный файл config.inc.php, копируя конфигурационный файл пример


sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Редактируем конфигурационный файл в редакторе nano


sudo nano /usr/share/phpmyadmin/config.inc.php

Код в файле можно заменить кодом под кнопкой «config.inc.php», но заменив значения в директивах $cfg['blowfish_secret'] и $cfg['Servers'][$i]['controlpass'].

Директива $cfg['blowfish_secret'] отвечает за шифрование (вводим парольную фразу не менее 32-х символов). В директиве $cfg['Servers'][$i]['controlpass'] меняем пароль 111111, на свой.

config.inc.php


<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at .
 *
 * @package PhpMyAdmin
 */

/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = 'qds584fr25vgh454xdf65gt78hgnj524';

/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/**
 * phpMyAdmin configuration storage settings. 
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '111111';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

/**
 * End of servers configuration
 */

/**
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '/var/www/backup';
$cfg['SaveDir'] = '/var/www/backup';

/**
 * Whether to display icons or text or both icons and text in table row
 * action segment. Value can be either of 'icons', 'text' or 'both'.
 * default = 'both'
 */
//$cfg['RowActionType'] = 'icons';

/**
 * Defines whether a user should be displayed a "show all (records)"
 * button in browse mode or not. 
 * default = false
 */
//$cfg['ShowAll'] = true;

/**
 * Number of rows displayed when browsing a result set. If the result
 * set contains more rows, "Previous" and "Next".
 * Possible values: 25, 50, 100, 250, 500
 * default = 25
 */
//$cfg['MaxRows'] = 50;

/**
 * Disallow editing of binary fields
 * valid values are:
 *   false    allow editing
 *   'blob'   allow editing except for BLOB fields
 *   'noblob' disallow editing except for BLOB fields
 *   'all'    disallow editing
 * default = 'blob'
 */
//$cfg['ProtectBinary'] = false;

/**
 * Default language to use, if not browser-defined or user-defined
 * (you find all languages in the locale folder)
 * uncomment the desired line:
 * default = 'en'
 */
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';
$cfg['DefaultLang'] = 'ru';

/**
 * How many columns should be used for table display of a database?
 * (a value larger than 1 results in some information being hidden)
 * default = 1
 */
//$cfg['PropertiesNumColumns'] = 2;

/**
 * Set to true if you want DB-based query history.If false, this utilizes
 * JS-routines to display query history (lost by window close)
 *
 * This requires configuration storage enabled, see above.
 * default = false
 */
//$cfg['QueryHistoryDB'] = true;

/**
 * When using DB-based query history, how many entries should be kept?
 * default = 25
 */
//$cfg['QueryHistoryMax'] = 100;

/**
 * Whether or not to query the user before sending the error report to
 * the phpMyAdmin team when a JavaScript error occurs
 *
 * Available options
 * ('ask' | 'always' | 'never')
 * default = 'ask'
 */
//$cfg['SendErrorReports'] = 'always';

/**
 * You can find more configuration options in the documentation
 * in the doc/ folder or at . 
 */

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

В нашем файле есть ссылки на таблицы базы данных phpmyadmin. Создаём базу phpmyadmin


sudo mariadb < /usr/share/phpmyadmin/sql/create_tables.sql

Далее

Подключаемся к MariaDB


sudo mariadb

Создаём пользователя pma для phpMyAdmin.

Внимание! pass заменяем на пароль, который указывали в директиве $cfg['Servers'][$i]['controlpass'].


GRANT {select}, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'pass';

Создаём пользователя, от имени которого будем входить в панель phpMyAdmin и создавать базы данных.

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

Внимание! user и pass меняем на логин и пароль, которыми вы будете пользоваться при авторизации в phpMyAdmin и работе с базами данных.


GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY 'pass' WITH GRANT OPTION;

Выходим из режима управления БД


exit

Теперь создаём конфигурационный файл phpmyadmin.conf


sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Вставляем в него код по кнопкой.

phpmyadmin.conf


# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring. func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Выполним активацию конфигурационного файла phpmyadmin.conf


sudo a2enconf phpmyadmin.conf

Конфигурируем Apache2

Создаём каталог для нашего проекта


mkdir /home/user/www/site1

заменить user на название каталога пользователя.

Создаём каталог для архивов БД


mkdir /home/user/www/backupbd

заменить user на название каталога пользователя.

Делаем текущего пользователя и его группу владельцем каталога site1


chown -R $USER:$USER /home/user/www/site1

и владельцем каталога backupbd


chown -R $USER:$USER /home/user/www/backupbd

Создаём конфигурационный файл для нашего проекта site1


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

Копируем и вставляем в него следующий код


<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /home/user/www/site1
    ServerName site1.loc
    ErrorLog /home/user/www/site1/error.log
    CustomLog /home/user/www/site1/access.log combined
</VirtualHost>

заменить user на название каталога пользователя.

Для того, чтобы адрес сайта site1.loc наш браузер нашёл и обработал, нам нужно внести изменения в файл hosts.

Открываем файл hosts для редактирования


sudo nano /etc/hosts

Этот файл может иметь следующий вид:


127.0.0.1       localhost
127.0.1.1       HomePC

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

где HomePC — это имя вашего компьютера.

Приводим его к следующему виду:


127.0.0.1       localhost site1.loc
127.0.1.1       HomePC

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

то есть дописываем в конце первой строки адрес нашего сайта — site1.loc.

Сохраняем и закрываем файл hosts.

Теперь подключим виртуальный хост site1.loc, выполнив следующую команду


sudo a2ensite site1.conf

После произведённых настроек перезагрузим конфигурацию сервера Apache


sudo systemctl reload apache2

Для перезапуска сервера Apache используем следующую команду


sudo systemctl restart apache2

Включаем обработку .

htaccess и вывод ошибок php

Включаем обработку .htaccess

Открываем файл apache2.conf


sudo nano /etc/apache2/apache2.conf

Находим такую часть кода


<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

и ниже вставляем свою директиву


<Directory /home/user/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

заменить user на название каталога пользователя.

Сохраняем файл и закрываем.

Включаем mod_rewrite выполнив следующую команду


sudo a2enmod rewrite

Вывод ошибок php

Открываем файл php.ini


sudo nano /etc/php/7.3/apache2/php.ini

В нём последовательно находим строки содержащие следующие инструкции:


error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

заменяем на


error_reporting = E_ALL

находим


display_errors = Off

заменяем на


display_errors = On

находим


display_startup_errors = Off

заменяем на


display_startup_errors = On

Сохраняем файл и закрываем его.

Можно начинать работать со своим проектом.

 

 

 

 

 

Из этой категории



Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One / Sandbox / Habr

Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One

0.

Предыстория

Недавно столкнулся с такой проблемой: По раз 10-15 приходилось переустанавливать прошивку на Orange Pi One т.к. Mysql и Phpmyadmin не хотели дружить. Долго искал годный мануал на данную тему и так не нашел. Данный мануал собрал с нескольких сайтов и чуток доработан моим корявым русским.

1. Установка прошивки

Скачиваем образ Armbian Ubuntu 18.04+ для OrangePi One с официального сайта

При помощи утилиты Rufus для Windows устанавливаем прошивку на microSD
При первом старте логин ‘root’ а пароль ‘1234’.

Дальше в принудительном порядке вы поменяете пароль и будет создание нового пользователя

2. Установка LAMP(Linux + Apache + MySQL + PHP)

Подключаемся к нашей OrangePi при помощи SSH/HDMI/UART

Устанавливаем Apache + PHP

$  apt-get install apache2 php libapache2-mod-php

Делаем рестарт Apache

$  service apache2 restart

Чтобы включить Htaccess нужно изменить конфиг файл:

$  nano /etc/apache2/sites-enabled/000-default

меняем везде строку

AllowOverride None

на

AllowOverride ALL

Установка MySQL-сервера

$  apt-get install mysql-server mysql-client php-mysql

После установки пароля для root пользователя жмем Enter и ждем окончания установки.

Установка PHPMYADMIN

$  apt-get install phpmyadmin

выбивает такое окноThe phpmyadmin package must have a database installed and

configured before it can be used. This can be optionally

handled with dbconfig-common.

If you are an advanced database administrator and know

that you want to perform this configuration manually, or

if your database has already been installed and

configured, you should refuse this option. Details on what needs to be

done should most likely be provided in

/usr/share/doc/phpmyadmin.

Otherwise, you should probably choose this option.

Есть кнопка ОК, но подождите минуты 2 чтобы все было хорошо ( не знаю почему, но у меня с 5того раза получилось)

Оказалось, что «password» в MySQL 5.7 переименовали в «authentication_string». Пришлось модифицировать запрос:

SELECT host, user, authentication_string from mysql.user;

Обновляем пароль root

UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password')
WHERE User='root';

Создать нового пользователя с административными правами, где ‘pmauser’ — имя аккаунта

$   mysql -p -u root
CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

Сделаем помощь Apache, подключив конфигурации для веб-сервера от phpmyadmin.

Для этого выполним:

$   nano /etc/apache2/apache2.conf

И в самый конец файла вставим:

Include /etc/phpmyadmin/apache.conf

Жмем [Ctrl]+[X] затем Y проверяем путь и подтверждаем Enter.

В PHPMYADMIN может выбить ошибка из-за новой версии

Ошибка

(Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable

Backtrace

./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',......)

В строке 613 функция count всегда принимает значение true, поскольку после нее закрывающая скобка отсутствует $analyzed_sql_results[‘select_expr’]. Выполнение приведенных ниже замен решает эту проблему, тогда вам нужно будет удалить последние закрывающие скобки в строке 614, поскольку теперь они являются дополнительными скобками

Редактировать файл:

$ nano /usr/share/phpmyadmin/libraries/sql.lib.php

Заменить:

(count($analyzed_sql_results['select_expr'] == 1)

На: (Переместить скобку перед == )

(count($analyzed_sql_results['select_expr']) == 1
$mysql -u root -p          //Команда для входа в БД где 'root' - логин
exit;                            //Выход из БД
$service mysql restart  //Перезапуск БД

На этом установка LAMP на OrangePi One завершена.

Возможно кому-нибудь данный мануал поможет

Как установить и настроить LAMP-сервер в Ubuntu

Операционные системы Linux предлагают своим пользователям большие возможности для создания веб-сайтов, их хранения на сервере и тестирования. Многие наверняка слышали, что правильная настройка Apache и MySQL позволяет удобно работать с серверами. Пора познакомиться и с LAMP, которая их всех объединяет, а также понять, как установить и настроить LAMP-сервер в Ubuntu.

Установка LAMP позволяет создать web-сервер.

Что такое LAMP?

LAMP — это не программа, как можно подумать сперва, и не сервер. За этой аббревиатурой скрывается стек или комплекс программ серверного назначения: Apache, MySQL, PHP. Отсюда и название — первые буквы каждой из этих программ. Первая буква взята от Linux.

Подробнее о компонентах.

  • Apache — это свободный HTTP-сервер.
  • MySQL — мощная, также бесплатная система управления базами данных. Используется на многих сайтах.
  • PHP — язык программирования. На нём очень часто пишут различные веб-приложения.

Всё это ПО полезно и практически незаменимо для размещения веб-сайтов в сети. Осталось научиться устанавливать его и пользоваться.

Установка LAMP

ЛАМП устанавливается несколькими способами. Так как это комплекс программ, то можно загрузить каждую из них по отдельности, но удобнее сделать это вместе. Для этого проще воспользоваться Tasksel:

sudo tasksel install lamp-server

Tasksel — специальный инструмент, установленный на Убунту, с помощью которого в систему легко грузить различные программные пакеты. Во время установки система попросит ввести пароль для MySQL. Необходимо сделать это.

Удаление

Удалить стек полностью также можно одной командой:

sudo tasksel remove lamp-server

Произойдёт установка всех компонентов: PHP 7, Apache, MySQL. Для более удобной работы программы добавляются в автозагрузку. Если вы хотите это изменить, сделайте это через настройки: Система — Параметры — Запускаемые приложения. Там просто удалите компоненты ЛАМПа.

Установка и настройка

Всё-таки большинству, наверное, хотелось бы сразу же получить хотя бы тестовый, но настроенный рабочий сервер. Тогда следуем дальнейшим инструкциям.

  1. Устанавливаем необходимые пакеты вторым способом:
    sudo apt-get install apache2 mysql-server php5 phpmyadmin 
  2. Придумываем и вводим пароль суперпользователя для того, чтобы установить MySQL на Ubuntu, затем делаем это повторно.
  3. Высвечивается окно настройки phpmyadmin. Здесь нужно указать, что использоваться будет Apache
  4. После нужно будет прочитать информацию в паре окон и подтвердить настройку БД. dbconfig-common — специальный вспомогательный пакет, который используется как на Debian, так и на Ubuntu.
  5. Система снова попросит нас ввести пароль. Это нужно сделать три раза: для совмещения MySQL с phpmyadmin, для создания базы данных и в подтверждение.
  6. Проверяем: работает ли сервер. Вводим в адресной строке браузера «localhost». Должно появиться сообщение: «It works!».
  7. Теперь вводим «localhost/phpmyadmin» в строке, авторизуемся. Логин: root, пароль тот же, что и вводимый ранее.

Настраиваем сервер и добавляем веб-сайт

Настройка сервера LAMP — наиболее важная часть, так как установка MySQL, Apache, PHP 7 на Ubuntu не представляет никакой сложности. Далее нужно будет поработать с программным кодом.

Делаем ссылку на phpmyadmin:

sudo ln -s /etc/phpmyadmin /var/www

Открываем, а затем редактируем конфигурацию сервера:

sudo nano /etc/apache2/apache2.conf

Добавляем в конец строку:

ServerName localhost:80

Открываем файл hosts:

sudo nano /etc/hosts

Добавляем строку:

127. 0.1.1             testsite.ru

Делаем файл конфигурации нового сайта:

‹VirtualHost *:80›
ServerAlias testsite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹Directory home/server/testsite.ru/›
AllowOverride All
‹/Directory›
‹/VirtualHost›

Помещаем этот файл с root-правами сюда: /etc/apache2/sites-available/

Активируем сайт:

sudo a2ensite testsite.ru

Перезапускаем сервер:

sudo /etc/init.d/apache2 restart

Создание страницы для веб-сайта

Делаем первую страницу — файл index.php в папке с сайтом (home/server/testsite.ru).

Вводим туда:

‹?
echo ‘Привет!!!’;
?›

Вообще, ввести можно что угодно, нужно это лишь для проверки работоспособности сервера.

Открываем через браузер нашу страничку: вводим веб-адрес в строку.

После этого мы должны увидеть заветное «Привет!!!». Если это произошло, то всё настроено правильно. Теперь в этой папке можно расположить полноценный веб-сайт, который будет тестироваться на LAMP. Папку, как и адрес сайта, конечно же, можно менять.

Теперь вы знаете, что установка и настройка MySQL, Apache, PHP (LAMP) на Ubuntu не так уж страшны, как кажутся изначально. Это лишь базовые возможности софта. Со временем вы научитесь использовать всю мощь программ.

Специальные образы Облачных VDS для быстрого развертывания серверов LAMP

В данной статье рассмотрены специально подготовленные LAMP-образы для установки на Облачных VDS и возможности быстрого запуска хостинга.

1. Общее описание готовых образов
2. Добавление сайтов
3. Работа с MySQL (MariaDB)
4. Настройка PHP и установка расширений
5. Запуск Django с использованием uWSGI

Стек LAMP (Linux/apache/mysql/php) является наиболее полулярным среди разработчиков набором технологий для
создания сайтов. Исходя из имеющегося у нас опыта мы разработали несколько готовых образов VDS, где установка LAMP происходит автоматически.

Общим принципом при разработке этих образов было
обеспечение однотипности настроек, чтобы сайты, размещенные на одном VDS легко перемещались на другой VDS, даже
базирующийся на другом образе (другом наборе базового ПО) и все основные задачи по администрированию любого из VDS на
базе любого из предлагаемых образов выполнялись однотипно. Мы так же решили, что крайне важно, чтобы добавление новых
сайтов на сервер было не сложнее, чем просто создание папки с именем сайта.

Образы LAMP ubuntu мы создали на базе дистрибутивов Ubuntu Precise Pangolin и Ubuntu Trusty Tahr, Debian Wheezy со следующим набором ПО:

  • Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + Apache2 + PHP 5.4 (mod_php) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + PHP 5.4 (php-fpm) + MariaDB 5.5 + phpMyAdmin + sftp

1. Общее описание готовых образов

Все образы построены исходя из того, чтобы главным и единственным пользователем в системе, от имени которого работают
скрипты и выполняются все остальные действия, был пользователь web. Аналогично принятому в Ubuntu порядку вещей, в
образах на базе Debian прямая работа от имени root не приветствуется (заблокирована) и вместо этого пользователю web
через sudo предоставлена возможность выполнять любые команды с привилегиями суперпользователя. Таким образом, для
входа на вновь созданный VDS по ssh необходимо выполнить команду:

$ ssh [email protected]

Кроме входа по ssh так же поддерживается протокол sftp. Подключение производится с тем же логином web и либо паролем,
который был сгенерирован при создании VDS, либо с помощью ключа, так же указанного при создании VDS.

После входа в систему вы окажетесь в папке /var/www/web, которая является основной для наших образов VDS. Здесь вы
найдете папку sites — это папка, в которой будут размещаться ваши сайты. Чтобы добавить новый сайт, достаточно внутри
папки sites создать подпапку с именем нового сайта без префикса www. . Подробнее об этом ниже.

Логи посещения размещенных у вас сайтов apache будет писать в папку /var/log/apache2, а nginx, если установлен, в
папку /var/log/nginx. В случае, если у PHP-скриптов возникнут ошибки в работе, информация о них будет писаться в файл
/var/www/web/php-errors.log

2. Добавление сайтов

Добавление сайтов — наиболее часто востребованная операция для массового виртуального хостинга, поэтому мы постарались
максимально ее упростить. Для добавления нового сайта mycompany.ru на ваш сервер вам потребуется сделать два простых
действия:

  1. В папке /var/www/web/sites нужно создать подпапку с именем mycompany.ru, то есть с именем размещаемого домена без
    www.. Внутрь этой папки в дальнейшем нужно будет выкладывать скрипты, относящиеся к этому сайту.
  2. Через редактор DNS у вашего провайдера, предоставляющего вам услугу парковки домена в DNS, необходимо будет добавить
    A-записи, указывающие на ip-адрес вашего VDS: одну для имени mycompany.ru, другую для www.mycompany.ru.

Добавление алиаса (альтернативного имени для вашего сайта) является не менее простой операцией. Если к сайту
mycompany.ru нужно добавить алиас www.mycompany.ru, то потребуется всего два действия:

  1. Создать символьную ссылку (symlink): cd /var/www/web/sites && ln -s mycompany.ru www.mycompany.ru
  2. Создать A-записи в DNS, указывающие на ip-адрес вашего сервера: для имени c www. и без www.

Напоминаем вам, что сервис парковки доменов в dns мы предоставляем для всех наших клиентов бесплатно и без ограничений.
Инструкции по делегированию доменов на наши ns-сервера приведены по ссылке.

3. Работа с MySQL (MariaDB)

Для вновь созданных VDS пароль доступа пользователем root в MySQL генерируется случайным образом. Узнать пароль можно
командой

sudo cat /root/.my.cnf

Если же вы хотите поработать с MySQL из консоли, то достаточно будет запустить
команду sudo -H mysql без параметров и вы сразу попадете в консоль MySQL без необходимости вводить пароль. Если такая
настройка системы вас не устраивает, смело можете удалить файл .my.cnf, предварительно сохранив себе записанный в нем
пароль.

phpMyAdmin доступен на вашем сервере по ссылке http://mycompany.ru/mysql, где mycompany.ru — адрес любого вашего
сайта, размещенного на этом сервере.

Файл настроек MySQL расположен в стандартном месте, но для его редактирования вам потребуются права суперпользователя:

sudo nano /etc/mysql/my.cnf

Чтобы изменения вступили в силу, необходимо перезапустить MySQL:

sudo service mysql restart

4. Настройка PHP и установка расширений

Поскольку в системе установлен стандартный PHP из репозиториев Debian/Ubuntu, настройка PHP и установка расширений
производится стандартным для debian based дистрибутивов образом. Файл php.ini собирается из нескольких составных
частей: из основного php.ini и из содержимого директории conf.d. Для FastCGI версии PHP настройки берутся из
папки /etc/php5/cgi, для mod_php — из папки /etc/php5/apache2, для CLI версии (это /usr/bin/php, то есть та версия
php, которая используется для заданий cron и других задач, выполняемых в консоли) — /etc/php5/cli. Версия php-fpm,
соответственно, использует php.ini из папки /etc/php5/fpm.

Вы можете легко посмотреть какие расширения php установлены в вашей системе, выполнив в консоли сервера команду:

$ dpkg -l | grep php

Посмотреть список доступных расширений php вы можете по команде:

$ apt-cache search php5

Перед самым первым вызовом команд apt-cache/apt-get на свежеустановленной системе не забудьте выполнить sudo apt-get
update
.

Установить требуемое расширение из списка очень просто. Допустим, мы хотим добавить в систему акселератор XCache.
Соответствующий пакет будет называться php5-xcache, а команда по его установке, требующая привелегий
суперпользователя, будет такая:

$ sudo apt-get install php5-xcache

Поскольку php начиная с версии 5.4 требует явного указания временной зоны в настройках (date.timezone), по-умолчанию
устанавливается временная зона UTC. Эта настройка задается в файле /etc/php5/apache2/conf.d/local.ini. Вам
необходимо изменить ее в соответствии со своими предпочтениями.

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

5. Запуск Django с использованием uWSGI

Django (Джанго) это свободный фреймворк, позволяющий быстро и качественно разрабатывать
динамические веб-приложения на языке Python.

  • Рекомендации по запуску Django подойдут для всех LAMP образов (LAMP, LAMP с mod_php, nginx + php-fpm) как на основе
    Debian, так и Ubuntu.

  • Установка выполняется таким образом, чтобы не нарушать работу сайтов, расположенных в /var/www/

  • Действия на сервере выполняются от имени пользователя root.

Показать инструкции по установке

5.1 Установка пакетов и запуск uWSGI

Установим необходимые для работы пакеты, а так же выберем версию uwsgi из pip как версию по-умолчанию:

apt-get update && apt-get install -y python-pip python-dev uwsgi-plugin-python uwsgi && pip install virtualenv virtualenvwrapper uwsgi && update-alternatives --install /usr/bin/uwsgi uwsgi /usr/local/bin/uwsgi 80

На установку потребуется 2-3 минуты и установленные пакеты займут порядка 300 Мб на диске.

Создадим пользователя в системе, переключимся на него, а так же
добавим переменные в его системный профиль

useradd -s /bin/bash -m -p $(pwgen -1 -N 1) project1 && su - project1 -c 'echo "export WORKON_HOME=~/Env" >> ~/. bashrc && echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc' && su - project1

Создадим виртуальное окружение, установим в нем django и создадим наш проект

cd ~ && mkvirtualenv firstsite && pip install django && django-admin.py startproject firstsite

Для удобства перечитывания проекта создадим файл

touch ~/firstsite/touch_reload

В дальнейшем достаточно будет выполнить эту же команду от имени пользователя project1 чтобы передать команду uwsgi
перечитать конфигурацию проекта. Это может быть очень удобно, когда разработкой проекта занимается отдельный специалист
без root доступа к серверу — администратору сервера не нужно будет каждый раз заходить от пользователя root для
перезапуска uwsgi.

Вернемся к сессии пользователя root воспользовавшись сочетанием клавиш Ctrl + D.

Теперь создадим конфигурационный файл uwsgi для нашего проекта

mcedit /etc/uwsgi/apps-enabled/firstsite.ini

И скопируем в него (вносить изменения в скопированный текст не требуется):

[uwsgi]
project = firstsite
userhomedir = /home/project1

chdir = %(userhomedir)/%(project)
home = %(userhomedir)/Env/%(project)
module = %(project).wsgi:application

processes = 4
threads = 2

chown-socket = www-data
uid = project1
gid = project1
vacuum = true

touch-reload = %(userhomedir)/%(project)/touch_reload

buffer-size = 8192
listen = 128
harakiri = 300

Для сохранения в mcedit достаточно нажать F2 на клавиатуре.

Запустим uwsgi сервер

/etc/init.d/uwsgi start
5.2 Создание конфигурационного файла для nginx

Нам потребуется выяснить IP адрес сервера. Его можно посмотреть выполнив команду

hostname -I

Создадим сам конфигурационный файл для nginx

mcedit /etc/nginx/sites-available/firstsite

И заполним его следующим текстом

server {
listen serverip:80;
server_name sitenameru;

location = /favicon. ico { access_log on; log_not_found off; }
location /static/ {
root /home/project1/firstsite;
    }

location / {
include uwsgi_params;
uwsgi_pass unix:///run/uwsgi/app/firstsite/socket;
    }
}

В этом конфигурационном файле потребуется изменить serverip на ip адрес Вашего сервера, а sitenameru — на имя
домена, по которому будет открываться ваш проект.

Активируем только что созданный конфигурационный файл и передадим сигнал nginx для перечитывания конфигурации

ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled/ && nginx -s reload

Готово! Если А запись в DNS для домена sitenameru указывает на IP адрес сервера, то ваш проект уже должен быть
доступен по адресу sitenameru.

5.3 Оптимизация отображения статических файлов

Когда проект будет загружен и потребуется оптимизировать статические файлы, то достаточно будет выполнить команды

su - project1
workon firstsite

Добавим в конец файла firstsite/firstsite/settings.py упоминание о расположении статических файлов

echo 'STATIC_ROOT = os.path.join(BASE_DIR, "static/")' | tee -a ~/firstsite/firstsite/settings.py

Запустим скрипт сбора статических файлов

~/firstsite/manage.py collectstatic

Для начала работы скрипта потребуется напечатать yes.

Как установить Apache 2.4, MariaDB 10.3 и PHP 7.2 в Ubuntu 18.04

В этой статье вы узнаете, как настроить современный стек LAMP, установив последние стабильные выпуски Apache 2.4 и MariaDB 10.3 на Ubuntu 18.04.

Примечание: Ubuntu 18.04 поставляется с уже установленным PHP 7.2, поэтому нам нужно будет установить только некоторые необходимые пакеты.

Предпосылки

Современный экземпляр сервера Ubuntu 18.04 x64
Пользователь sudo.

Создание пользователя sudo

Сначала обновите вашу систему:

apt-get update -y
apt-get upgrade -y

Далее создайте нового пользователя:

adduser user

Введите и введите новый безопасный пароль для этого пользователя, затем либо установите информацию о пользователе, либо оставьте поля пустыми и нажмите, ENTER чтобы использовать значения по умолчанию.

Добавьте пользователя в sudo группу:

usermod -aG sudo user

Установка Apache 2.4

Установите последнюю стабильную версию Apache 2.4:

sudo apt-get install apache2 -y

Используйте следующую команду, чтобы подтвердить установку и проверить версию Apache:

apache2 -v

Вывод будет выглядеть следующим образом:

Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-10-03T14:41:08

В производственной среде вы захотите удалить страницу приветствия Ubuntu Apache по умолчанию:

sudo mv /var/www/html/index.html /var/www/html/index.html.bak

В целях безопасности вы должны запретить Apache /var/www/html предоставлять посетителям файлы и каталоги в корневом веб-каталоге:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Примечание. В соответствии с вашими конкретными требованиями вы можете настроить дополнительные параметры в этом файле позже.

Запустите службу Apache и запустите ее при загрузке системы:

sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Установка MariaDB 10.3
Сначала установите software-properties-common, если необходимо:

sudo apt-get install software-properties-common

Затем импортируйте ключ gpg:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Добавьте систему подходящего репо:

sudo add-apt-repository 'deb [arch=amd64] http://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic main'

Обновить апт:

sudo apt update -y

Теперь вы можете установить MariaDB:

sudo apt install -y mariadb-server mariadb-client

В процессе установки автоматически откроется мастер настройки пакета MariaDB и попросит вас установить новый пароль для root пользователя MariaDB. Выберите безопасный пароль и повторите его, чтобы подтвердить его.

Установив MariaDB, вы можете подтвердить установку:

mysql -V

Вывод будет похож на следующее:

mysql  Ver 15.1 Distrib 10.3.10-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Запустите и включите сервис MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Безопасная установка MariaDB:

sudo /usr/bin/mysql_secure_installation

Первым предложением будет ввести пароль root, который вы только что установили. Затем он спросит, хотите ли вы изменить пароль. Вы можете ввести n и нажать ENTER, если вы не хотите сменить пароль.

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

MariaDB 10.3 теперь надежно установлен в вашей системе. В будущем вы также можете настроить назначенных пользователей и базы данных для своих веб-приложений. Войдите в оболочку MySQL как root:

mysql -u root -p

Введите пароль root MariaDB, который вы установили ранее при появлении запроса.

Создайте базу данных MariaDB webapp, пользователя webappuser базы данных и пароль пользователя базы данных yourpassword:

CREATE DATABASE webapp;
CREATE USER 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON webapp.* TO 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

При необходимости вы можете настроить MariaDB, просмотрев и отредактировав основной файл конфигурации MariaDB /etc/mysql/my.cnf:

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo vi /etc/mysql/my.cnf

Не забудьте перезапустить сервис MariaDB, если вы сделаете какие-либо изменения в этом файле:

sudo systemctl restart mariadb.service

Установка пакетов PHP 7.2

Обязательно установите эти пакеты после установки Apache:

sudo apt-get install -y php libapache2-mod-php7. 2 php7.2-cli php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-mysql php7.2-zip

Настройте брандмауэр UFW
По умолчанию брандмауэр UFW в Ubuntu 18.04 неактивен. Вы должны включить брандмауэр UFW для повышения безопасности. Сначала проверьте список приложений:

sudo ufw app list

Далее установите ваши правила:

sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"

Наконец, запустите UFW:

sudo ufw enable

Поздравляем, теперь у вас есть стек LAMP, работающий в вашей системе Ubuntu 18.04. Теперь вы можете развернуть свое собственное веб-приложение на основе стека LAMP.

H Как установить LAMP (Apache, MySQL, PHP) в Debian 9

Сервер LAMP — это комбинация веб-серверов Apache, MySQL и PHP на сервере Linux. Он широко используется для размещения веб-сайтов на базе PHP и MySQL во всемирной паутине. Это руководство создано, чтобы помочь администраторам настроить стек LAMP в Debian 9. В этом руководстве мы устанавливаем Apache и MySQL из базовых репозиториев Debian 9. Поможем добавить сторонний репозиторий для установки PHP.

Шаг 1. Предварительные требования

Войдите на свой сервер Debian 9, используя привилегии sudo или пользователя root в командной строке.

 ssh [адрес электронной почты защищен]
 

После входа в систему Debian обновите текущие пакеты до последней доступной версии.

 sudo apt-get update
sudo apt-get upgrade
 

Кроме того, установите следующие пакеты в вашей системе, необходимые для выполнения команд, следующих в этом руководстве.

 sudo apt установить ca-сертификаты apt-transport-https
 

Шаг 2. Установка Apache2

Базовые репозитории Debian 9 содержат пакеты Apache 2.4. Вы можете просто установить пакеты Apache2, выполнив следующие команды в своей системе Debian 9.

 sudo apt-get install apache2
 

Шаг 3. Установка MySQL

Базовый репозиторий Debian 9 содержит MariaDB (замена MySQL) в качестве сервера базы данных по умолчанию. Если вы согласны использовать MariaDB, выполните команды для установки, иначе следуйте инструкциям по установке сервера MySQL.

 sudo apt-get install mysql-server
 

Шаг 4. Установка PHP

Системные репозитории Debian 9 по умолчанию содержат старую версию PHP. Чтобы установить последнюю версию PHP, добавьте в свою систему сторонний PPA.Выполните приведенную ниже команду, чтобы добавить PPA в вашу систему.

 wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key добавить -
sudo echo "deb https://packages.sury.org/php/ stretch main" | тройник /etc/apt/sources.list.d/php.list
 

Затем установите последнюю версию PHP в Debian 9.

 sudo apt update
sudo apt установить php php-mysql libapache2-mod-php
 

Шаг 5 — Проверка установки

Чтобы проверить установку LAMP в Debian 9, создайте сценарий PHP с функцией phpinfo () в корне документа Apache.Для этого отредактируйте файл /var/www/html/info.php в вашем любимом текстовом редакторе, добавьте содержимое ниже в файл и сохраните его.

Теперь откройте файл info.php в веб-браузере, используя IP-адрес вашей системы.

Как установить PHP в Debian 10 Linux

PHP — один из наиболее часто используемых языков программирования на стороне сервера.

В этом руководстве мы обсудим, как установить PHP в Debian 10, Buster. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

Debian 10 поставляется с PHP версии 7.3, которая поддерживается наиболее популярными CMS и фреймворками, такими как WordPress, Magento и Laravel.

Предварительные требования #

Чтобы иметь возможность устанавливать пакеты, вы должны войти в систему как пользователь root или пользователь с привилегиями sudo
.

Установка PHP с Apache #

Если вы используете Apache
в качестве веб-сервера для установки PHP и модуля Apache PHP выполните следующие команды:

  sudo apt update   sudo apt install php libapache2-mod-php  

После завершения установки перезапустите Apache, чтобы загрузить модуль PHP:

  sudo systemctl restart apache2  

Установка PHP с Nginx #

В отличие от Apache, Nginx
не имеет встроенной поддержки обработки файлов PHP.Вам нужно будет использовать службу PHP FPM («менеджер процессов fastCGI») для обработки файлов PHP.

Установите пакеты PHP и PHP FPM, выполнив следующую команду:

  sudo apt update   sudo apt install php php-fpm  

После установки пакетов служба PHP FPM запустится автоматически.

Теперь вы можете отредактировать блок сервера Nginx своего домена и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

  server {

    #.. . другой код

    расположение ~ \ .php $ {
        включить сниппеты / fastcgi-php.conf;
        fastcgi_pass unix: /run/php/php7.3-fpm.sock;
    }
}  

Сохраните файл конфигурации и перезапустите службу nginx.
для новой конфигурации вступят в силу:

  sudo systemctl restart nginx  

Установка расширений PHP #

Вы можете расширить функциональные возможности ядра PHP, установив дополнительные расширения. Расширения PHP доступны в виде пакетов и могут быть легко установлены, набрав:

  sudo apt install php- [extname]  

Например, чтобы установить расширения MySQL и GD PHP, вы должны выполнить следующую команду:

  sudo apt install php-mysql php-gd  

При установке расширений PHP не забудьте перезапустить Apache или службу PHP FPM, в зависимости от ваших настроек.

Тестирование обработки PHP #

Чтобы проверить, правильно ли настроен ваш веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога / var / www / html со следующим кодом:

/ var / www / html / info.php

Сохраните файл, откройте выбранный вами браузер и посетите http: //your_server_ip/info.php

Функция phpinfo распечатывает информацию о вашей конфигурации PHP, как показано на изображении ниже :

Заключение #

Мы показали вам, как установить PHP в Debian 10 и настроить ваш веб-сервер для обработки файлов PHP.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Настройка сервера Debian 10 LAMP для веб-разработки PHP — подсказка для Linux

В этой статье я покажу вам, как настроить сервер LAMP (Linux, Apache, MySQL / MariaDB, PHP) для веб-разработки PHP. Я собираюсь использовать недавно выпущенный дистрибутив Debian 10 Buster GNU / Linux для демонстрации. Итак, приступим.

Обновление кэша репозитория пакетов APT:

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

Кэш репозитория пакетов APT должен быть обновлен.

Установка и настройка MySQL / MariaDB:

Теперь установите серверные и клиентские пакеты MariaDB из официального репозитория пакетов Debian 10 с помощью следующей команды:

$ sudo apt установить mariadb-server mariadb-client

Чтобы подтвердить установку, нажмите Y , а затем нажмите .

Менеджер пакетов APT загрузит и установит все необходимые пакеты.

На этом этапе будут установлены серверные и клиентские пакеты MariaDB.

Теперь проверьте, запущена ли служба mariadb , с помощью следующей команды:

$ sudo systemctl статус mariadb

Как видите, служба mariadb работает. Также позволяет автоматически запускаться при загрузке системы.

Если в любом случае служба mariadb не запущена, запустите службу следующей командой:

$ sudo systemctl start mariadb

Теперь выполните следующую команду, чтобы установить пароль root для MariaDB:

$ sudo mysql_secure_installation

Нажмите .

Теперь нажмите Y , а затем нажмите .

Теперь введите свой пароль root и нажмите .

Введите пароль root еще раз и нажмите .

Нажмите Y , а затем нажмите , чтобы удалить анонимных пользователей.

Если вы не хотите разрешать удаленный вход root , нажмите Y .В противном случае нажмите N . Затем нажмите .

Теперь нажмите Y и нажмите , чтобы удалить тестовую базу данных.

Теперь нажмите Y , а затем нажмите , чтобы перезагрузить таблицу привилегий.

MariaDB должна быть настроена.

Создание новых пользователей и баз данных MySQL / MariaDB:

Теперь вам нужно создать нового пользователя и базу данных для вашего веб-приложения.

Войдите в оболочку MariDB с помощью следующей команды:

Теперь введите пароль MariaDB root , который вы уже установили, и нажмите .

Войдите в систему.

Теперь создайте базу данных app1 со следующим оператором SQL:

Теперь создайте нового пользователя (скажем, shovon ), установите пароль для пользователя (скажем, 123 ) и предоставьте пользователю разрешение на использование базы данных app1 со следующим оператором SQL:

ПРЕДОСТАВИТЬ ВСЕ НА app1.* TO ‘shovon’ @ ‘localhost’, ОПРЕДЕЛЕННЫЙ ‘123’;

Теперь очистите права MariaDB, чтобы изменения вступили в силу следующим образом:

Теперь выйдите из оболочки MariaDB следующим образом:

Установка веб-сервера Apache и PHP:

Теперь установите веб-сервер Apache 2 и PHP с помощью следующей команды:

$ sudo apt установить apache2 php

Теперь нажмите Y , а затем нажмите , чтобы подтвердить установку.

Веб-сервер Apache 2 и PHP должны быть установлены.

Теперь проверьте, запущена ли служба apache2 , с помощью следующей команды:

$ sudo systemctl status apache2

Как видите, служба apache2 работает. Кроме того, позволяет автоматически запускаться при загрузке системы.

Если в любом случае служба apache2 не запущена, то вы можете запустить ее вручную следующим образом:

$ sudo systemctl start apache2

Установка расширений PHP:

Официальный репозиторий пакетов Debian 10 содержит множество предварительно упакованных расширений PHP.

Вы можете вывести список всех доступных расширений / библиотек PHP с помощью следующей команды:

Должно быть указано имя пакета всех расширений PHP, включая их номер версии и краткое описание. Это очень длинный список. Таким образом, может потребоваться некоторое время, чтобы найти то, что вы ищете таким образом.

Чтобы установить наиболее распространенные расширения / библиотеки PHP, выполните следующую команду:

$ sudo apt install php-curl php-gd php-mbstring php-mysql php-zip
php-json php-xml

Теперь нажмите Y , а затем нажмите , чтобы подтвердить установку.

Должны быть установлены общие расширения PHP.

После установки расширений PHP перезапустите веб-сервер Apache следующим образом:

$ sudo systemctl перезапуск apache2

Включение / отключение модулей Apache:

Веб-сервер Apache поставляется с множеством модулей. Вы можете включать или отключать их по своему усмотрению.

Чтобы вывести список всех доступных модулей Apache 2, выполните следующую команду

$ ls / etc / apache2 / mods-доступные

Как видите, перечислены все доступные модули Apache 2.

Чтобы включить модуль (скажем, , перезаписать ), выполните следующую команду:

Не забудьте перезапустить веб-сервер Apache 2, если вы включаете / отключаете модули Apache 2.

Чтобы перезапустить веб-сервер Apache 2, выполните следующую команду:

$ sudo systemctl перезапуск apache2

Чтобы вывести список всех включенных / активных модулей Apache 2, выполните следующую команду:

Должны быть перечислены все включенные / активные модули Apache 2.

Если вы решили отключить активированный модуль, используйте команду a2dismod следующим образом:

$ sudo a2dismod moduleName

Изменение пользователя Apache Run:

Пользователь запуска Apache по умолчанию в Debian 10 — www-data , а корневой веб-каталог по умолчанию — / var / www / html . Таким образом, как обычный пользователь, вы не сможете создавать файлы / каталоги или изменять существующие файлы / каталоги в корневом веб-каталоге. Когда вы настраиваете сервер LAMP для разработки, это не то, что вам нужно.Чтобы решить эту проблему, вы должны изменить пользователя запуска Apache на пользователя, входящего в систему, и изменить владельца и группу веб-корневого каталога / var / www / html на пользователя, входящего в систему.

Чтобы изменить пользователя запуска Apache, отредактируйте файл конфигурации / etc / apache2 / envvars с помощью следующей команды:

$ судо нано / и т.д. / apache2 / envvars

Необходимо изменить переменные среды APACHE_RUN_USER и APACHE_RUN_GROUP .

Теперь установите переменные среды APACHE_RUN_USER и APACHE_RUN_GROUP на имя пользователя для входа в систему (вывод команды whoami ).По завершении сохраните файл, нажав + X , затем Y и .

Теперь измените владельца и группу каталога / var / www / html на имя пользователя, вошедшего в систему, с помощью следующей команды:

$ судо чоун -Rf $ (whoami): $ (whoami) / var / www / html

Теперь перезапустите веб-сервер Apache 2 с помощью следующей команды:

$ sudo systemctl перезапуск apache2

Тестирование сервера LAMP:

Я создал 2 PHP скрипта index.php и phpinfo.php в корневом веб-каталоге / var / www / html .

Содержание index.php :

$ host = «localhost»;
$ user = «shovon»;
$ pass = «123»;
$ db = «приложение1»;

попробуйте {
$ conn = new PDO («mysql: host = $ host; dbname = $ db», $ user, $ pass);
$ conn-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

echo «Подключено успешно»;
} catch (PDOException $ e) {
echo «Ошибка подключения:».$ e-> getMessage ();
}
?>

Содержимое phpinfo.php:
phpinfo ();
?>

Теперь у вас должна быть возможность получить доступ к скриптам PHP из вашего браузера, как вы можете видеть на скриншоте ниже.

http: //localhost/phpinfo.php

Итак, вот как вы настраиваете сервер Debian 10 LAMP для веб-разработки PHP. Спасибо, что прочитали эту статью.

Как установить Apache, MySQL и PHP на Ubuntu 18.04

Используете другую систему?

  • Как установить Apache, MySQL и PHP в Ubuntu 14.04

  • Как установить Apache, MySQL и PHP на CentOS 6

  • Как установить Apache 2.4.x, MariaDB 10.x и PHP 7.x в Ubuntu 16.04

  • Как установить Apache, MySQL и PHP на Ubuntu 16.04

  • Как установить Apache, MySQL и PHP на Ubuntu 17.04

  • Как установить Apache 2.4, MariaDB 10.3 и PHP 7.2 в Ubuntu 18.04

  • Как установить стек Apache, MySQL и PHP (FAMP) на FreeBSD 12.0

  • Установите Apache, MySQL и PHP (LAMP) на Ubuntu 20.04 LTS

Установите Apache

Сначала обновите диспетчер пакетов.

  sudo apt-get update -y
sudo apt-get upgrade -y
  

Установите и запустите Apache.

  sudo apt-get install apache2 -y
sudo systemctl start apache2.service
  

Убедитесь, что Apache был установлен без ошибок, открыв его из локального браузера. Введите hostname -I , чтобы получить свой IP-адрес для сервера, и перейдите к http: // SERVER_IP / .Вы увидите страницу Apache2 по умолчанию.

Установить MySQL

Установите сервер базы данных MySQL.

  sudo apt-get install mysql-server -y
  

Затем запустите mysql_secure_installation .

  sudo mysql_secure_installation
  

Вам будет предложено установить пароль, после чего будут заданы другие вопросы. Введите надежный пароль и затем нажмите ENTER , чтобы выбрать значения по умолчанию.

Установить PHP

Сначала установите PHP.

  sudo apt-get install php -y
  

Затем установите общие расширения PHP, такие как gd , mysql и так далее.

  sudo apt-get install php- {bcmath, bz2, intl, gd, mbstring, mysql, zip, fpm} -y
  

Запуск Apache и MySQL при загрузке

Это необходимо для запуска вашей веб-среды при загрузке.

  sudo systemctl включить apache2.service
sudo systemctl включить mysql.service
  

Наконец, перезапустите Apache, чтобы разрешить запуск PHP.

  systemctl перезапустить apache2.service
  

Заключение

Поздравляем, вы успешно установили стек LAMP на свой Ubuntu 18.04 VPS.

Хотите внести свой вклад?

Вы можете заработать до $ 300 , добавляя новые статьи

Установка Linux, Apache, MySQL, PHP (LAMP) вручную

Перед установкой программного обеспечения обновите информацию в репозиториях с помощью следующей команды.

root @ i: ~ # apt-get update - для ОС Debian,

root @ i: ~ # yum makecache - для ОС CentOS 

После завершения обновления продолжите установку необходимого программного обеспечения.

Apache

ОС Debian

Установите Apache Prefork с помощью следующей команды:

root @ i: ~ # apt-get install apache2 

Установите Apache Worker с помощью команды

root @ i: ~ # apt-get install apache2-mpm-worker 

Для Apache ITK используйте следующую команду:

root @ i: ~ # apt-get install apache2-mpm-itk 
ОС CentOS

Установите Apache Prefork с помощью следующей команды:

root @ i: ~ # ням установить httpd 

Чтобы обновить версию Apache Worker, используйте следующую команду, чтобы остановить веб-сервер:

/ etc / init.d / httpd stop 

Затем откройте / etc / sysconfig / httpd для редактирования и включите строку HTTPD = / usr / sbin / httpd.worker, удалив пометку комментария. Если в файле нет следующих строк, добавьте их:



StartServers 6

MinSpareServers 6

MaxSpareServers 15

ServerLimit 156

MaxClients 156

MaxRequestsPerChild 3000

 

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

Чтобы обновить версию Apache ITK, включите HTTPD = / usr / sbin / httpd.itk, удалив отметку комментария. Если в файле нет следующих строк, добавьте их:



StartServers 6

MinSpareServers 6

MaxSpareServers 15

ServerLimit 156

MaxClients 156

MaxRequestsPerChild 3000

 

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

MySQL

ОС Debian

Чтобы установить сервер базы данных MySQL, используйте следующую команду:

root @ i: ~ # apt-get install mysql-server mysql-client 

Во время установки вы должны ввести пароль доступа для пользователя root сервера MySQL.Используйте сложные пароли, содержащие буквы верхнего и нижнего регистра, цифры и специальные символы.

ОС CentOS

Чтобы установить сервер базы данных MySQL, используйте следующую команду:

root @ i: ~ # yum install mysql-server mysql-client 

По завершении установки запустите MySQL с помощью команды:

корень @ i: ~ # /etc/init.d/mysqld start 

, затем измените пароль с помощью команды:

root @ i: ~ # / usr / bin / mysqladmin -u пароль root 'mynewpassword' 

PHP

Следующие команды устанавливают базовые расширения PHP и модуль для Apache.

ОС Debian

Для установки PHP выполните команду:

root @ i: ~ # apt-get install php5 php5-mysql 
ОС CentOS

Для установки PHP выполните команду:

root @ i: ~ # yum install php php-mysql 

Сайт

ОС Debian

Для каждого добавленного домена создайте отдельный файл конфигурации и назовите его для домена:

коснитесь /etc/apache2/sites-enabled/mydomain.com

где «mydomain» - ваше доменное имя.

Откройте файл конфигурации для редактирования и добавьте следующий раздел:



       ServerName mydomain.com

       ServerAlias ​​www.mydomain.com

       DocumentRoot /var/www/sites/mydomain.com

       CustomLog /var/www/httpd-logs/mydomain.com.access.log в сочетании

       ErrorLog /var/www/httpd-logs/mydomain.com.error.log

       Приложение AddType / x-httpd-php .php



где 1.0.0.1 - IP-адрес сервера и «mydomain.com »- это ваше доменное имя. 

Если для работы веб-сайта требуется база данных (в данном примере MySQL), подключитесь к серверу:

mysql -u корень -p 

и создайте базу данных:

создать базу данных db; 

Создайте пользователя, который будет иметь полные права доступа к базе данных:

предоставить все привилегии на mydb. * 'myuser' @ 'localhost', идентифицированному 'mypassword';

где «mydb» - имя базы данных, «myuser» - имя пользователя, «mypassword» - пароль.

Создание каталогов для сайта:

mkdir / var / www / sites /

mkdir /var/www/sites/mydomain.com

mkdir / var / www / httpd-журналы

коснитесь /var/www/httpd-logs/mydomain.com.access.log

коснитесь /var/www/httpd-logs/mydomain.com.error.log 

При необходимости установите желаемую CMS, перейдя в каталог сайта…

cd /var/www/sites/mydomain.com 

Для CMS Joomla загрузите ее установочный пакет:

wget http://joomlacode.org/gf/download/frsrelease/19639/159961/Joomla_3.3.2-Stable-Full_Package.zip 

Распакуйте файл .zip с помощью команды:

разархивируйте Joomla_3.3.2-Stable-Full_Package.zip 

При правильной конфигурации DNS вы сможете получить доступ к своему сайту через браузер, используя его доменное имя; в противном случае вы можете использовать IP-адрес.

ОС CentOS

Для каждого добавленного домена создайте отдельный файл конфигурации и назовите его для домена.

коснитесь /etc/httpd/sites-enabled/mydomain.com.conf

где «mydomain» - ваше доменное имя.

Откройте файл конфигурации для редактирования и добавьте следующий раздел:



       ServerName mydomain.com

       ServerAlias ​​www.mydomain.com

       DocumentRoot /var/www/sites/mydomain.com

       CustomLog /var/www/httpd-logs/mydomain.com.access.log в сочетании

       ErrorLog /var/www/httpd-logs/mydomain.com.error.log

       Приложение AddType / x-httpd-php .php



где 1.0.0.1 -

- это IP-адрес сервера и «mydomain.com »- это ваше доменное имя. 

Если для работы веб-сайта требуется база данных (в данном примере MySQL), подключитесь к серверу:

mysql -u корень -p 

и создайте базу данных:

создать базу данных db; 

Создайте пользователя, который будет иметь полные права доступа к базе данных:

предоставить все привилегии на mydb. * 'myuser' @ 'localhost', идентифицированному 'mypassword';

где «mydb» - имя базы данных, «myuser» - имя пользователя, «mypassword» - пароль.

Создание каталогов для сайта:

mkdir / var / www / sites /

mkdir /var/www/sites/mydomain.com

mkdir / var / www / httpd-журналы

коснитесь /var/www/httpd-logs/mydomain.com.access.log

коснитесь /var/www/httpd-logs/mydomain.com.error.log 

При необходимости установите желаемую CMS, перейдя в каталог сайта…

cd /var/www/sites/mydomain.com 

Для CMS Joomla загрузите ее установочный пакет:

wget http://joomlacode.org/gf/download/frsrelease/19639/159961/Joomla_3.3.2-Stable-Full_Package.zip 

Распакуйте файл .zip с помощью команды:

разархивируйте Joomla_3.3.2-Stable-Full_Package.zip 

При правильной конфигурации DNS вы сможете получить доступ к своему сайту через браузер, используя его доменное имя; в противном случае вы можете использовать IP-адрес.

Как настроить стек LAMP в Red Hat Enterprise Linux 7

Вас попросили создать стек LAMP, независимо от того, думаете ли вы «Стек ламп, как в лампах и лампочках» или «Хорошо, давайте создадим веб-сервер», это руководство поможет вам быстро начать работу.

Первый для тех, кто не знает стек LAMP, также известный как LAMP, это аббревиатура для сервера Linux / UNIX с Apache в качестве механизма сервера, MySQL / MariaDB в качестве механизма базы данных и PHP в качестве основного серверного скрипта. язык.

Эти шаги основаны на RHEL 7.2 / 7.3, но должны работать для всех версий RHEL с минимальными изменениями.

Всего пара вещей, которые вам нужно будет подготовить:

  • Приличное подключение к Интернету.
  • Непроизводственный сервер для использования с этим руководством.
    • В этом руководстве предполагается, что сервер был установлен с минимальным набором опций и правильно зарегистрирован в подписке Red Hat.
  • Доступ к серверу, который разрешает вам доступ Sudo (admin).

В зависимости от потребностей вашей организации ваш сервер может иметь графический пользовательский интерфейс (GUI) или у вас может быть просто терминальный доступ. В любом случае рекомендуется сначала просмотреть это руководство на непроизводственном сервере, если вам нужно пройти его пару раз.

Если у вас есть графический интерфейс, перейдите в меню «Приложения», затем в подменю «Утилиты» найдите приложение «Терминал» и откройте его.

В терминале (будь то в графическом интерфейсе или через SSH) выполните следующие действия, чтобы упростить задачу, вы можете скопировать и вставить команды в окно терминала.

ПРИМЕЧАНИЕ:
С помощью приведенных ниже команд yum это руководство не устанавливает автоматически какой-либо фрагмент стека LAMP. После того, как вы поймете, что делаете, вы можете использовать команду «-y» для автоматической установки.

 # Не обновляется автоматически
sudo yum update
# Не будет автоматически устанавливать Apache / HTTPD
sudo yum установить httpd
# Будет обновляться автоматически
sudo yum -y обновить
# Автоматически установит Apache / HTTPD
sudo yum -y установить httpd
 

Этапы установки ЛАМПЫ

  1. Проверьте регистрацию Red Hat, в этом поможет приведенный ниже сценарий.
    Если вы правильно зарегистрированы, вы получите сообщение «Зарегистрировано правильно», в противном случае вам будет предложено ввести имя пользователя и пароль Red Hat вместе с именем хоста сервера.
     if ["$ (sudo subscription-manager status | grep" Общий статус ")"! = "Общий статус: неизвестно"]; потом
    Чисто
    echo "Правильно зарегистрировано"
    еще
    Чисто
     
    echo -e "\ 033 [32mRed Hat Registration - Start \ 033 [0m"
        если [-z $ {1 + x}]; потом
            echo -e "\ 033 [01m \ e [4mВведите свое имя пользователя на RedHat.com, а затем нажмите [ENTER]: \ e [0m \ 033 [0m»
            читать rhUser
        еще
            объявить rhUser = $ 1
        фи
        если [-z $ {2 + x}]; потом
            echo -e "\ 033 [01m \ e [4mВведите свой пароль для RedHat.com, а затем [ENTER]: \ e [0m \ 033 [0m "
            читать -s rhPass
        еще
            объявить rhPass = $ 2
        фи
        Чисто
        echo -e "\ 033 [32mSet Имя хоста сервера - Начало \ 033 [0m"
        если [-z $ {3 + x}]; потом
            echo -e "\ 033 [01m \ e [4mВведите желаемое имя хоста для сервера, а затем нажмите [ENTER]: \ e [0m \ 033 [0m»
            читать имя хоста
            sudo hostnamectl set-hostname $ hostname
        еще
            объявить hostname = $ 3
            sudo hostnamectl set-hostname $ hostname
        фи
        echo -e "\ 033 [32mSet имя хоста сервера - Stop \ 033 [0m"
        # Зарегистрировать сервер Red Hat - Пуск
        sudo subscription-manager register --username $ rhUser --password $ rhPass --auto-attach
        Чисто
        обновление диспетчера подписок sudo
        Чисто
        история -c
        sudo идентификатор диспетчера подписки
        # Зарегистрировать сервер Red Hat - Остановить
        echo -e "\ 033 [32mRed Hat Registration - Stop \ 033 [0m"
     
    фи
     
  2. Сначала обновите систему.
     # Сначала обновить систему
    sudo yum обновление 
  3. Установить полезные приложения
     # Устанавливаем полезные приложения
    # nano - текстовый редактор, альтернатива vi
    # curl / wget - загрузчики на базе терминала
    # bind-utils / telnet - полезно для тестирования проблем домена и порта
    
    sudo yum установить nano curl wget bind-utils telnet 
  4. Установите компоненты LAMP.
     # Установить ЛАМПУ
    # httpd - Базовый Apache
    # mod_ssl & openssl - требуется для безопасных веб-сайтов HTTPS / SSL
    # mariadb-server & mariadb - База данных MariaDB (последняя версия базы данных на основе MySQL после того, как Oracle купила MySQL)
    # php - Базовый PHP
    # php-mysql - Разрешить PHP работать с MariaDB / MySQL
    # php-gd - Разрешить PHP создавать изображения и управлять ими.
    # php-mbstring - Разрешить PHP работать с многобайтовыми строками - http: // php.сеть / руководство / en / book.mbstring.php
    
    sudo yum установить httpd mod_ssl openssl mariadb-server mariadb php php-mysql php-gd php-mbstring 
  5. Включите службы, чтобы они загружались при запуске.
     # Включить службы, чтобы они загружались при запуске
    sudo systemctl включить httpd.service
    sudo systemctl включить mariadb.service 
  6. Откройте брандмауэр для HTTP и HTTPS.
     # Открытый брандмауэр для HTTP и HTTPS
    sudo firewall-cmd --permanent --zone = public --add-service = http
    sudo firewall-cmd --permanent --zone = public --add-service = https
    sudo firewall-cmd --reload 
  7. Создайте простую страницу информации о PHP, чтобы убедиться, что PHP работает в Apache.
    Основная цель этого файла — убедиться, что PHP работает в Apache, но это также хороший файл для проверки в каждом проекте, чтобы убедиться, что у вас установлены все необходимые модули / расширения PHP.
     # Создайте простую страницу информации о PHP, чтобы убедиться, что PHP работает в Apache
    sudo echo "" | sudo tee /var/www/html/info.php
    
    echo " "| sudo tee / var / www / html / index.[\ t] * // '/etc/httpd/conf/httpd.conf
    sudo sed -i "s | IncludeOptional | #IncludeOptional |" /etc/httpd/conf/httpd.conf
    sudo sed -i "s | #ServerName www.example.com:80|ServerName localhost |" /etc/httpd/conf/httpd.conf
    sudo sed -i "s | DirectoryIndex index.html | DirectoryIndex index.html index.php |" /etc/httpd/conf/httpd.conf
    
    # Добавить конфигурацию PHP в Apache
    echo "Приложение AddType / x-httpd-php .php" | sudo tee -a /etc/httpd/conf/httpd.conf 
  8. Безопасность MariaDB / MySQL.
    Это необходимый шаг для защиты вашего сервера MariaDB / MySQL. Эта команда сначала запустит службу, а затем задаст серию вопросов, в зависимости от потребностей проекта ответы могут быть разными.
     # Безопасный MariaDB / MySQL
    sudo systemctl start mariadb.service
    Чисто
    sudo / usr / bin / mysql_secure_installation 

    Вот что вы увидите

     $ Судо / usr / bin / mysql_secure_installation
    
    ПРИМЕЧАНИЕ: ЗАПУСК ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB.
          СЕРВЕРЫ В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!
    
    Чтобы войти в MariaDB и защитить его, нам понадобится текущий
    пароль для пользователя root.Если вы только что установили MariaDB, и
    вы еще не установили пароль root, пароль будет пустым,
    поэтому вам нужно просто нажать здесь.
    
    Введите текущий пароль для root (введите его, если нет): 

    На этом этапе нажмите ввод / возврат, так как на этом этапе у вас не должно быть пароля суперпользователя.

     Введите текущий пароль для root (если нет):
    ОК, пароль успешно использован, идем дальше ...
    
    Установка пароля root гарантирует, что никто не сможет войти в MariaDB.
    пользователь root без соответствующей авторизации.Установить пароль root? [Да / нет] 

    На этом этапе введите Y (регистр может быть нижним или верхним) и нажмите ввод / возврат

    Вам нужно будет ввести пароль, а затем подтвердить его. ПРИМЕЧАНИЕ. Это ваш «божественный» пароль для всей вашей системы MariaDB, поэтому его будет сложно угадать.

    .

     Установить пароль root? [Д / Н] г
    Новый пароль:
    Повторно введите новый пароль:
    Пароль успешно обновлен!
    Перезагрузка таблиц привилегий ..
     ... Успех!
    
    
    По умолчанию установка MariaDB имеет анонимного пользователя, что позволяет любому
    для входа в MariaDB без необходимости создания учетной записи пользователя для
    их.Это предназначено только для тестирования, и чтобы произвести установку
    идти немного плавнее. Вы должны удалить их перед переездом в
    производственная среда.
    
    Удалить анонимных пользователей? [Да / нет] 

    В большинстве случаев вы хотите удалить неаутентифицированных пользователей, поэтому введите Y (регистр может быть нижним или верхним) и нажмите ввод / возврат

     Удалить анонимных пользователей? [Д / Н] г
     ... Успех!
    
    Обычно root может подключаться только с localhost. Этот
    гарантирует, что кто-то не сможет угадать пароль root из сети.Запретить удаленный вход root? [Да / нет] 

    В большинстве случаев вы хотите удалить удаленный «божественный» корневой доступ, поэтому введите Y (регистр может быть нижним или верхним) и нажмите ввод / возврат

     Запретить удаленный вход root? [Д / Н] г
     ... Успех!
    
    По умолчанию MariaDB поставляется с базой данных под названием «test», которую может
    доступ. Это также предназначено только для тестирования и должно быть удалено.
    перед переходом в производственную среду.
    
    Удалить тестовую базу данных и получить к ней доступ? [Да / нет] 

    Если это окно разработки, чтобы начать изучение работы с MariaDB / MySQL, вы можете сказать нет, но в большинстве случаев введите Y (регистр может быть нижним или верхним) и нажмите ввод / возврат

     Удалить тестовую базу данных и получить к ней доступ? [Д / Н] г
     - Удаление тестовой базы данных...
     ... Успех!
     - Удаление привилегий на тестовой базе данных ...
     ... Успех!
    
    Повторная загрузка таблиц привилегий гарантирует, что все изменения, внесенные на данный момент
    вступит в силу немедленно.
    
    Перезагрузить таблицы привилегий сейчас? [Да / нет] 

    В большинстве случаев введите Y (регистр может быть нижним или верхним) и нажмите ввод / возврат

    Вы закончили и увидите что-то вроде этого

     Обновить таблицы привилегий сейчас? [Д / Н] г
     ... Успех!
    
    Убираться...
    
    Все сделано! Если вы выполнили все вышеперечисленные шаги, ваш MariaDB
    установка теперь должна быть безопасной.Спасибо за использование MariaDB! 
  9. Запустите Apache.
     # Запустить Apache
    sudo systemctl start httpd.service 
  10. Загрузите свой сайт, если вы используете графический интерфейс, в зависимости от того, у вас может быть или не может быть интернет-браузер на вашем компьютере, если у вас есть браузер, вы можете открыть его и просто перейти по адресу http: //localhost/info.php. в SSH / Терминале приведенный ниже код должен загрузить HTML-код сайта по умолчанию, если все работает.
     curl http: // localhost / info.php
     

На этом этапе у вас должен быть рабочий стек HTTP LAMP, но он будет запускать только один веб-сайт.

Этапы установки на нескольких площадках

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

  1. Для работы нескольких сайтов нам нужно изменить SELinux для работы в разрешающем режиме.
    ПРИМЕЧАНИЕ. Обратитесь в службу ИТ-безопасности вашей компании, у некоторых компаний могут возникнуть проблемы с этим, а у других — без проблем.$ / d ‘/ и т. д. / selinux / config
    SELinuxStatus = $ (cat / etc / selinux / config | grep SELINUX = | cut -d ‘=’ -f2)
    echo «Текущий статус: $ SELinuxStatus»
    sudo sed -i «s | SELINUX = $ SELinuxStatus | SELINUX = permissive |» / и т.д. / selinux / config
    SELinuxStatus = $ (cat / etc / selinux / config | grep SELINUX = | cut -d ‘=’ -f2)
    echo «Новый статус: $ SELinuxStatus»
    sudo shutdown -r сейчас

  2. Создайте файл «sites.csv», в этом файле мы определим дополнительные сайты для сервера.
     Имя домена, HTTP_Port, HTTPS_Port, SSLCertificateFile, SSLCertificateKeyFile
     

    Это сайты.CSV-файл имеет некоторую логику, связанную с тем, что если вы не определите HTTPS_Port, SSLCertificateFile и SSLCertificateKeyFile, ваш сайт будет просто HTTP, а не безопасным сайтом (HTTPS)

    Этот сценарий ниже создаст для вас заголовок CSV, а затем загрузит файл в текстовый редактор nano.

    Введите значения, не забывая добавлять запятую в качестве разделителя (не добавляйте пробелы).

    Когда вы закончите, удерживая нажатой клавишу Control / Ctrl и нажмите клавишу X, чтобы закрыть файл, система спросит вас, хотите ли вы сохранить, введите Y для да или N для нет, затем нажмите клавишу Enter / Return.

     echo -e "Имя домена, HTTP_Port, HTTPS_Port, SSLCertificateFile, SSLCertificateKeyFile \ n" | sudo tee /var/www/websites.csv
    sudo nano /var/www/websites.csv
     

    Вот пример того, как может выглядеть окончательный файл

     Имя домена, HTTP_Port, HTTPS_Port, SSLCertificateFile, SSLCertificateKeyFile
    test.someurl.local, 80 443, / etc / httpd / ssl / SSLCRT.crt, / etc / httpd / ssl / SSLKey.key
    test2.someurl.local, 80
     
  3. Сертификаты SSL

  4. Место размещения файлов сертификатов SSL может отличаться от этого руководства.В руководстве основное внимание будет уделено расположению файлов в виде / etc / httpd / ssl. Убедитесь, что у вас есть файлы crt и key в каталоге / etc / httpd / ssl (или в выбранном вами каталоге).
  5. Задайте основные переменные для следующих шагов
     # Объявить основные переменные - начало
    объявить netAdapter = $ (состояние устройства nmcli | grep en | cut -d "" -f1)
    если [-z "$ netAdapter"]; потом
    netAdapter = $ (состояние устройства nmcli | grep eth | cut -d "" -f1)
    фи
    объявить netIP = $ (/ sbin / ip -o -4 список адресов $ netAdapter | awk '{print $ 4}' | cut -d / -f1)
    #declare netCIDR = $ (/ sbin / ip -o -4 список адресов $ netAdapter | cut -d '' -f7)
    объявить netMask = $ (ipcalc -m $ netIP | cut -d '=' -f2)
    объявить netCIDR = $ (ipcalc -p $ netIP $ netMask | cut -d '=' -f2)
    объявить netWork = $ (ipcalc -n $ netIP $ netMask | cut -d '=' -f2)
    echo -e "Имя хоста: $ (имя хоста) \ n $ netAdapter: $ netIP \ nNetmask: $ netMask \ nCIDR: $ netWork / $ netCIDR"
    объявить AzureServer = $ (awk -v address = "$ netIP" -f / opt / DSP / checkIP.awk /opt/DSP/AzureIPRange.txt)
    LoggedInUser = $ (whoami)
    echo $ LoggedInUser
    # Объявить основные переменные - стоп
     
  6. ДОПОЛНИТЕЛЬНО — Удалить рабочий стол GUI
     sudo yum удалить gnome-desktop *
     
  7. Создание группы веб-разработчиков
    В ситуации, когда у вас несколько веб-разработчиков, группа веб-разработчиков может оказаться полезной.
     # Создать группу веб-разработчиков
    sudo groupadd webdev
    
    # Добавить пользователей в группу веб-разработчиков
    sudo usermod -G webdev -a $ LoggedInUser
    sudo usermod -G webdev -a apache
    sudo usermod -G webdev -a root
    
    # Создайте пользователя веб-разработчика и добавьте его в группу веб-разработчиков
    sudo useradd -g webdev -m webdev
    USR = webdev
    # Это сгенерирует случайный 8-значный пароль:
    PASS = `tr -dc A-Za-z0-9_  ~ / webdev_temp_password.[\ t] * // '/etc/httpd/conf/httpd.conf
    sudo sed -i "s | IncludeOptional | #IncludeOptional |" /etc/httpd/conf/httpd.conf
    sudo sed -i "s | #ServerName www.example.com:80|ServerName localhost |" /etc/httpd/conf/httpd.conf
    sudo sed -i "s | DirectoryIndex index.html | DirectoryIndex index.html index.php |" /etc/httpd/conf/httpd.conf
    
    echo "IncludeOptional /etc/httpd/sites-available/*.conf" | sudo tee -a /etc/httpd/conf/httpd.conf
    
    cat /etc/httpd/conf/httpd.conf | grep IncludeOptional
    кот / и т.д. / httpd / conf / httpd.conf | grep DirectoryIndex
     
  8. Позвольте CSV определять дополнительные сайты
     # Прочитать файл sites.csv и создать виртуальный хост для каждого сайта - начать
    sed 1d /var/www/websites.csv | тогда как IFS = $ ’,’ читать -r -a site
    делать
    echo "Чтение файла CSV"
    echo "Имя домена: $ {site [0]}"
    echo "Порт HTTP: $ {site [1]}"
    echo "Порт HTTPS: $ {site [2]}"
    echo "Файл SSL CRT: $ {site [3]}"
    echo "Файл ключей SSL: $ {site [4]}"
    если [-n "$ {site [1]}"]; потом
    echo "Настройка HTTP для $ {site [0]}"
    echo -e "\ n" \
    "ServerName $ {site [0]} \ n" \
    "DocumentRoot / var / www / $ {site [0]} / public_html \ n" \
    "ErrorLog / var / www / $ {site [0]} / error.журнал \ n "\
    "CustomLog /var/www/${site[0pting}/requests.log объединены \ n" \
    "\ n" \
    "Параметры Все \ n" \
    "AllowOverride All \ n" \
    "Требовать все предоставлено \ n" \
    "\ n" \
    "" | sudo tee /etc/httpd/sites-available/${site[0 visible}.conf
    фи
    если [-n "$ {site [2]}"]; потом
    if [-z "$ {site [3]}"] || [-z "$ {сайт [4]}"]; потом
        echo "Запрошен HTTPS, но параметры SSL не заполнены"
        выход 0
    фи
    echo "Настройка HTTPS для $ {site [0]}"
    echo -e "\ n" \
    "ServerName $ {site [0]} \ n" \
    "DocumentRoot / var / www / $ {site [0]} / public_html \ n" \
    "ErrorLog / var / www / $ {site [0]} / error.журнал \ n "\
    "CustomLog /var/www/${site[0pting}/requests.log объединены \ n" \
    "\ n" \
    "Параметры Все \ n" \
    "AllowOverride All \ n" \
    "Требовать все предоставлено \ n" \
    "\ n" \
    "SSLEngine на \ n" \
    "SSLCertificateFile $ {site [3]} \ n" \
    "SSLCertificateKeyFile $ {site [4]} \ n" \
    "" | sudo tee /etc/httpd/sites-available/${site[0pting}_secure.conf
    фи
    sudo ln -s /etc/httpd/sites-available/${site[0pting}.conf /etc/httpd/sites-enabled/${site[0 ]}.conf
    sudo mkdir -p / var / www / $ {site [0]} / public_html
    echo "$ ip $ {site [0]}" | sudo tee -a / etc / hosts
    # Скачать тестовый индекс.$ / d '/etc/httpd/conf/httpd.conf
    
     
  9. Переназначьте разрешения для каталога / var / www /, чтобы разрешить группе webdev доступ для чтения и записи
     прозрачный
    sudo chown -cR apache: webdev / var / www /
    sudo chgrp -cRv webdev / var / www /
    sudo chmod g + w -Rv / var / www /
    sudo chmod -Rv 774 / var / www /
     
  10. Тестовая конфигурация
     конфигурация apachectl
    httpd -D DUMP_VHOSTS
     
  11. Перезапустить службу Apache
     перезапуск sudo apachectl
     

Связанные

Как настроить LAMP на DreamCompute под управлением Debian или Ubuntu — База знаний DreamHost

Обзор

LAMP означает «Linux», «Apache», «MySQL» и «PHP».Все эти компоненты вместе составляют «веб-стек» LAMP, который является одним из самых популярных решений для размещения веб-сайтов.

В этой статье объясняется, как установить стек LAMP на ваш экземпляр DreamCompute.

Из-за общих требований к памяти MySQL 8 и Ubuntu 20 DreamHost рекомендует не устанавливать MySQL 8 на «полусоновые» экземпляры.

Методы настройки

Есть два способа настроить стек LAMP на вашем экземпляре DreamCompute:

Если вам просто нужно быстро настроить LAMP, чтобы что-то заработало, автоматизированное решение должно подойти.

Вторая команда интерактивна, поэтому вас спросят: «Продолжить?» в некоторых местах. Всегда вводите «y», чтобы продолжить.

Вам также будет предложено установить пароль для пользователя root вашей установки MySQL. Создайте безопасный пароль и сохраните его, так как он понадобится вам позже при настройке базы данных.

Ручная установка

Вы также можете установить Apache, MySQL и PHP по отдельности.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *