Lamp ubuntu удаление. Если нужны изменения в my.conf. Корневой доступ к PHPMyAdmin с помощью MariaDB.

Основные операции при использовании LAMP в Ubuntu 16.04

Введение

Это статья повторяет статью Меняем среду обитания на Ubuntu 16.04 , но сдесь более подробно рассматривается установка lamp и настройка окружения, которое может понадобится.

Установка LAMP Ubuntu 16.04

Ctrl+Alt+T и вводим именно так (c символом крышки на конце)

sudo apt install lamp-server^

Настройка своего виртуального хоста

sudo mkdir /var/www/site.local/publick_html Создаём папку для сайта

sudo vi /var/www/site.local/publick_html/index.php Создаём файл

Теперь можно добавлять виртуальный хост

sudo vi /etc/apache2/sites-available/site.local.conf

ServerName site.local ServerAlias www.site.local ServerAdmin [email protected] DocumentRoot /var/www/site.local/publick_html Options Indexes FollowSymlinks AllowOverride All Require all granted ErrorLog /var/www/site.local/error.log CustomLog /var/www/site.local/access.log combined

Options Indexes FollowSymlinks - это чтобы иметь возможность видеть файлы в директории если нет index.html.

AllowOverride All - это позволяет использовать.htaccess.

Require all granted - доступ разрешён всем.

Потом добавляем хост в локальную dns
sudo vi /etc/hosts

И перезагружаем apache
sudo service apache2 reload

Поправим некоторые настройки в php.ini (по желанию)
sudo vi /etc/php/7.0/apache2/php.ini

display_errors = On

short_open_tag = On

Включить mod_rewrite Ubuntu 16.04

После установки LAMP в Ubuntu 16.04 mod_rewrite уже установлен. Но нужно его включить

sudo a2enmod rewrite

Установка других необходимых модулей Php

Установлен или нет модуль curl не понятно, однако чтобы заработал curl_init() оказалось достаточным произвести инсталяцию php7-curl

sudo apt install php7.0-curl

Достоверно известно (на собственном опыте) что sqlite3 не заработает в стандартной сборке LAMP. И чтобы заработал нужно инсталировать модуль php7.0-sqlite3

sudo apt install php7.0-sqlite3

Если понадобится работа с Excel файлами (PHPExcel), то нужны будут библиотеки php7.0-zip и php7.0-xml

sudo apt install php7.0-zip

sudo apt install php7.0-xml

Кроме этого мне понадобилось установить GD

sudo apt install php7.0-gd

Если необходимо установить все доступные модули php можно выполнить такую команду

sudo apt install php*

Установка PhpMyAdmin

При установке phpmyadmin необходимо позаботится о том, чтобы запустить автонастройку его для сервера apache2 (он сам предложит, нужно только выбрать сервер с помощью клавиши «Пробел»)

sudo apt install phpmyadmin php7.0-mbstring php-gettext

Файлы настроек LAMP Ubuntu 16.04

Apache: /etc/apache2

Php server: /etc/php/7.0/apache2/php.ini

Php console: /etc/php/7.0/cli/php.ini

MySQL: /etc/mysql/my.cnf

Если нужны изменения в my.conf

Изменения в my.cnf делать не следует поскольку все файлы лежащие в каталоге
/etc/mysql/conf.d/ с расширением.cnf будут подключены автоматически.

И сразу изменим кодировку для mysql поскольку по умолчанию в Ubuntu используется кодировка latin-1. Ну а чтобы убедится что это действительно так вводим

show variables like `char%`;

Исправляем это:

sudo vi /etc/mysql/conf.d/utf8_set.cnf


character-set-server=utf8
collation-server=utf8_general_ci

Прочие сведения о среде в Ubuntu 16.04

Имя пользователя под которым работает apache2 в Ubuntu 16.04: www-data

Отсюда следует, если мы хотим сделать папку доступной для записи файлов через веб сервер то нужно сделать это так chown -R www-data:www-data /path/to/folder/

Разумеется это нужно сделать только в том случае, если мы не хотим делать вот так.

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

Цикл статей о LAMP:

    Примечание.
    Данная статья описана для Ubuntu 16.04 и выше.

    Но прежде, чем переходить к самому руководству, давайте расшифруем эту аббревиатуру.

    Apache – собственно веб-сервер. Отвечает за получение и обработку запросов пользователей, но умеет гораздо больше.

    MySQL – одна из самых распространенных систем управления базами данных. Строго говоря, вывести заветный ‘Hello World’ с помощью PHP можно и без этого компонента. Тем не менее, он необходим как для популярных CMS вроде WordPress, Joomla и Drupal, так и для самописных систем.

    PHP – один из самых популярных языков программирования. На PHP написана серверная часть подавляющего большинства сайтов в мире.

    Установка Apache, MySQL и PHP.

    Установить вышеперечисленный набор можно как с помощью графического интерфейса, так и через командную строку. Мы рассмотрим второй вариант, как более универсальный.

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

    Обновим список доступных пакетов:

    sudo apt-get update


    После этого установим Apache:

    sudo apt-get install apache2


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



    Проверяем работу Apache, введя в адресной строке браузера следующий адрес:

    Если вы увидите страницу, изображенную ниже – значит, сервер работает как надо.

    При получении сообщения об ошибке не спешите расстраиваться, скорее всего, Apache не запустился автоматически. Сделайте это вручную:

    sudo service apache start

    После чего обновите страницу.
    Устанавливаем сервер MySQL:

    sudo apt-get install mysql-server

    Снова подтверждаем согласие и через несколько секунд получаем предложение установить пароль.


    Выполнив требуемое, дожидаемся окончания и вводим следующую команду:

    sudo apt-get install php

    Менеджер пакетов снова соберет список зависимостей, нам останется лишь согласиться.

    Стек LAMP – это группа открытых программ, которая необходима серверу для поддержки динамических сайтов и веб-приложений. Акроним LAMP расшифровывается как Linux (операционная система), Apache (веб-сервер), MySQL (система управления базами данных) и PHP (серверный язык сценариев для обработки динамического контента).

    На сервере уже установлен первый компонент – операционная система Ubuntu, которая является дистрибутивом Linux. Данное руководство поможет установить остальные компоненты стека.

    Требования

    • Сервер Ubuntu 16.04.
    • Не-root пользователь с доступом к команде sudo (все инструкции по созданию такого пользователя можно найти ).

    1: Установка Apache и настройка брандмауэра

    Apache является одним из самых популярных веб-серверов в мире.

    Установить Apache очень просто, пакеты этого веб-сервера доступны в стандартном репозитории Ubuntu. Для установки используйте пакетный менеджер apt; он помогает устанавливать программное обеспечение и поддерживать его в актуальном состоянии.

    Примечание : Подробнее о менеджере apt — в .

    Обновите индекс пакетов и установите Apache:

    sudo apt-get update
    sudo apt-get install apache2

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

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

    Чтобы продолжить, нажмите Y и Enter.

    Теперь нужно убедиться, что брандмауэр UFW пропускает трафик HTTP и HTTPS. Просмотрите доступные профили Apache:

    sudo ufw app list
    Available applications:
    Apache
    Apache Full
    Apache Secure
    OpenSSH

    Профиль Apache Full разрешает трафик на порт 80 и 443.

    sudo ufw app info "Apache Full"
    Profile: Apache Full
    Title: Web Server (HTTP,HTTPS)
    Description: Apache v2 is the next generation of the omnipresent Apache web
    server.
    Ports:
    80,443/tcp

    Разрешите входящий трафик:

    sudo ufw allow in "Apache Full"

    Чтобы убедиться, что теперь брандмауэр поддерживает входящий трафик на порт 80 или 443, посетите внешний IP своего сервера в браузере.

    http://your_server_IP_address

    На экране должна появиться стандартная страница Apache для Ubuntu:

    It works!
    This is the default welcome page used to test the correct operation of the Apache2 server after installation on Ubuntu systems. …

    Как узнать свой внешний IP-адрес

    Существует несколько способов определить внешний IP-адрес сервера при помощи командной строки.

    Во-первых, можно использовать инструменты iproute2:

    ip addr show eth0 | grep inet | awk "{ print $2; }" | sed "s/\/.*$//"

    Команда вернёт несколько адресов, однако сервер может использовать не все эти адреса, а только один из них; проверьте каждый полученный адрес.

    Также можно запросить свой адрес у третьей стороны при помощи утилиты curl.

    sudo apt-get install curl
    curl http://icanhazip.com

    2: Установка MySQL

    MySQL – это реляционная система управления базами данных (СУБД), которая систематизирует и хранит данные сайта.

    Эту систему также можно установить с помощью менеджера apt. Чтобы установить MySQL и несколько вспомогательных программ, введите:

    sudo apt-get install mysql-server

    Примечание: В данном случае обновлять индекс пакетов не нужно, потому что он был обновлён перед установкой Apache.

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

    Во время установки программа предложит выбрать и подтвердить пароль root пользователя MySQL. Это пароль администратора MySQL. Обязательно выберите надёжный пароль и установите его.

    После завершения установки нужно запустить сценарий безопасности, который удалит ненадёжные параметры и защитит БД от несанкционированного доступа.

    sudo mysql_secure_installation

    Сценарий предложит указать root-пароль MySQL, а затем задаст ряд вопросов.

    Предупреждение: Сценарий предложит включить параметр VALIDATE PASSWORD PLUGIN. Если этот параметр включен, пароли, которые не соответствуют указанным критериям, будет отклонены системой MySQL как ошибка. Это вызовет проблемы, если вы используете слабый пароль в программах, которые автоматически настраивают учетные данные пользователя MySQL (например PhpMyAdmin). Безопаснее отключить этот параметр и использовать надёжные уникальные пароли.

    Чтобы принять настройки по умолчанию, нажмите y на остальные вопросы сценария.

    VALIDATE PASSWORD PLUGIN can be used to test passwords
    and improve security. It checks the strength of password
    and allows the users to set only those passwords which are
    secure enough. Would you like to setup VALIDATE PASSWORD plugin?
    Press y|Y for Yes, any other key for No:

    Если вы включили валидацию паролей, программа предложит выбрать уровень. Уровень 2 – наивысший; при этом валидацию пройдут только пароли, содержащие цифры, буквы верхнего и нижнего регистра и специальные символы. Пароли, состоящие из обычных слов, будут отклонены.

    There are three levels of password validation policy:
    LOW Length >= 8
    MEDIUM Length >= 8, numeric, mixed case, and special characters
    STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
    Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

    Если валидация паролей включена, программа покажет надёжность текущего root пароля и предложит изменить его. Если вас устраивает ваш пароль, введите n.

    Using existing password for root.
    Estimated strength of the password: 100
    Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

    На остальные вопросы можно нажать Y и Enter. Это удалит анонимных пользователей и тестовые базы данных, отключит удалённый root логин и обновит текущие настройки MySQL.

    3: Установка PHP

    PHP – это серверный язык сценариев для создания динамических страниц. Он позволяет запускать сценарии, подключаться к БД MySQL и передавать обработанный контент в браузер для отображения.

    PHP также можно установить с помощью менеджера apt. Чтобы установить PHP и несколько вспомогательных пакетов (для настройки взаимодействия с Apache и MySQL), введите команду:

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

    В большинстве случаев рекомендуется настроить обработку файлов веб-сервером Apache при запросе каталога. На данный момент Apache сначала обслуживает index.html. Чтобы веб-сервер обслуживал PHP-файлы первыми, нужно отредактировать файл dir.conf:

    sudo nano /etc/apache2/mods-enabled/dir.conf

    Файл выглядит так:


    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

    Как видите, файлы index.php находятся в конце строки, а значит, веб-сервер будет обслуживать их в последнюю очередь. Переместите index.php в начало строки DirectoryIndex:


    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

    Сохраните и закройте файл (Ctrl-X, Y, Enter).

    Теперь перезапустите Apache, чтобы обновить настройки:

    sudo systemctl restart apache2

    Проверьте состояние сервиса apache2 при помощи systemctl:

    sudo systemctl status apache2
    apache2.service - LSB: Apache2 web server
    Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
    Drop-In: /lib/systemd/system/apache2.service.d
    └─apache2-systemd.conf
    Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago
    Docs: man:systemd-sysv-generator(8)
    Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
    Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
    CGroup: /system.slice/apache2.service
    ├─13623 /usr/sbin/apache2 -k start
    ├─13626 /usr/sbin/apache2 -k start
    ├─13627 /usr/sbin/apache2 -k start
    ├─13628 /usr/sbin/apache2 -k start
    ├─13629 /usr/sbin/apache2 -k start
    └─13630 /usr/sbin/apache2 -k start
    Apr 13 14:28:42 ubuntu-16-lamp systemd: Stopped LSB: Apache2 web server.
    Apr 13 14:28:42 ubuntu-16-lamp systemd: Starting LSB: Apache2 web server...
    Apr 13 14:28:42 ubuntu-16-lamp apache2: * Starting Apache httpd web server apache2
    Apr 13 14:28:42 ubuntu-16-lamp apache2: AH00558: apache2: Could not reliably determine the server"s fully qualified domain name, using 127.0.1.1. Set the "ServerNam
    Apr 13 14:28:43 ubuntu-16-lamp apache2: *
    Apr 13 14:28:43 ubuntu-16-lamp systemd: Started LSB: Apache2 web server.

    Установка модулей PHP (опционально)

    Функционал PHP можно расширить при помощи модулей.

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

    apt-cache search php- | less

    Примечание: Для навигации используйте кнопки со стрелками; чтобы закрыть список, нажмите q.

    На экране появится список опциональных компонентов с кратким описанием каждого из них:

    libnet-libidn-perl - Perl bindings for GNU Libidn
    php-all-dev - package depending on all supported PHP development packages
    php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
    php-cli - command-line interpreter for the PHP scripting language (default)
    php-common - Common files for PHP packages
    php-curl - CURL module for PHP
    php-dev - Files for PHP module development (default)
    php-gd - GD module for PHP
    php-gmp - GMP module for PHP

    Чтобы получить подробную информацию о модуле, используйте:

    apt-cache show package_name

    Данная команда вернёт объёмный вывод, включая поле Description-en, в котором содержится подробное объяснение работы запрашиваемого модуля.

    К примеру, можно узнать больше о модуле php-cli:

    apt-cache show php-cli

    Description-en: command-line interpreter for the PHP scripting language (default)
    This package provides the /usr/bin/php command interpreter, useful for
    testing PHP scripts from a shell or performing general shell scripting tasks.
    .
    PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
    open source general-purpose scripting language that is especially suited
    for web development and can be embedded into HTML.
    .
    This package is a dependency package, which depends on Debian"s default
    PHP version (currently 7.0).

    Чтобы установить выбранный модуль, используйте команду apt-get install, указав имя модуля. Например, чтобы установить php-cli, нужно ввести:

    sudo apt-get install php-cli

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

    sudo apt-get install package1 package2 ...

    4: Тестирование PHP

    Итак, стек LAMP полностью установлен и готов к работе. Теперь нужно убедиться в том, что веб-сервер взаимодействует с PHP. Для этого нужно создать простой сценарий PHP, info.php. Чтобы веб-сервер Apache мог найти этот файл, его нужно поместить в root-каталог веб-сервера (в Ubuntu это /var/www/html/).

    sudo nano /var/www/html/info.php

    На экране появится пустой файл. Поместите в него такой код:

    phpinfo();

    Сохраните и закройте файл.

    Теперь попробуйте открыть его в браузере:

    http://server_domain_or_IP/info.php

    На экране появится веб-страница, содержащая информацию о сервере. Если такая страница появилась, веб-сервер обслуживает файлы PHP.

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

    sudo rm /var/www/html/info.php

    Заключение

    Теперь на сервере Ubuntu 16.04 установлен программный стек LAMP – надёжная и гибкая платформа для развёртывания сайта или приложения.

    Чтобы защитить соединения веб-сервера с клиентами, .

    Также вам могут пригодиться следующие статьи:

    Tags: ,

    Для создания файлов в папке /var/www требуются права администратора, поэтому на выбор:

    1. Открыть редактор под правами администратора
    2. Выставить папке права на запись всем
      sudo chmod -R 777 /var/www
    3. Переопределить владельца папки
      sudo chown -R $USER:$USER /var/www

    2.1.1. Добавление нового виртуального хоста

    Для примера нужно сделать сайт, который хранится в /var/www/test и доступен по URL test.dev.

    2.1.1.1. Создать конфиг

    В папке /etc/apache2/sites-available создать файл, пусть он называется test.conf и содержит это:


    ServerName test.dev
    DocumentRoot /var/www/test

    Этот конфиг сокращён до крайнего минимума. Его можно расширить другими директивами , но для тестового хоста этого достаточно. Для полноценной работы лучше создать нечто такое:


    ServerName test.dev
    DirectoryIndex index.php
    DocumentRoot /var/www/test

    Options Indexes FollowSymLinks MultiViews
    Require all granted
    Order allow,deny
    Allow from all
    AllowOverride All

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

    Логи по умолчанию хранятся в папку /var/log/apache2.

    2.1.1.2. Сделать хост активным

    Все имеющиеся хосты можно делать активными и неактивными с помощью команд a2ensite и a2dissite.

    sudo a2ensite test
    sudo a2dissite test

    В параметре нужно указывать название conf-файла, в данном примере это test. После этих команд требуется перезагрузка apache2:

    sudo service apache2 restart

    2.1.1.3. Прописать домен

    Добавить в файл /etc/hosts эту строку:

    127.0.1.1 test.dev

    2.1.1.4. Написать сайт

    В папку /var/www/test нужно поместить что-то вебовское. Пусть это будет index.php с таким содержимым.

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

    • Linux — операционная система Linux;
    • Apache — веб-сервер;
    • MariaDB / MySQL — СУБД;
    • PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

    Устанавливать все пакеты будем в терминале, в Ubuntu с Unity терминал можно запустить одновременным нажатием клавиш + + . Далее вводим команду:

    Sudo apt-get install lamp-server^
    Чтобы не набирать команду установки вручную, ее можно вставить в терминал комбинацией клавиш + + . Также можно вставить команду через контекстное меню терминала, возникающее при нажатии правой кнопки мышки.



    Рис. 1. Установка веб-сервера LAMP

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

    Затем нас попросят повторить пароль:

    В Ubuntu 14.04 во время установки LAMP сервера появилось предупреждение:

    Could not reliably determine the server"s fully qualified domain name, using 127.0.1.1. Set the "ServerName" directive globally to suppress this message.
    Проблема решалась созданием конфигурационного файла apache2 с указанием имени локального сервера. Хотя в Ubuntu 16.04 нету этого предупреждения, я все равно решил прописать имя локального сервера. Для этого создаем файл /etc/apache2/conf-available/servername.conf :

    Sudo pluma /etc/apache2/conf-available/servername.conf
    И в него вставляем строчку:

    ServerName localhost



    Затем сохраняем файл и закрываем текстовый редактор. В завершение выполняются команды:

    Sudo a2enconf servername sudo service apache2 reload

    Проверка работы веб-сервера LAMP

    LAMP сервер установлен, настало время проверить работает ли он. Для начала в веб-браузере переходим по ссылке http://localhost/ или http://127.0.0.1/ . Если у вас откроется страница с заголовком Apache2 Ubuntu Default Page , значит первый компонент LAMP, Apache сервер , запущен и работает:


    Рис. 5. Проверка работы Apache сервера

    Теперь протестируем работу php7. Для этого создадим php файл по адресу "/var/www/html/test.php " содержащий строчку:


    php файл можно создать с помощью текстового редактора, также как указывали имя локального сервера. Но в этот раз создадим файл с помощью команды в терминале:

    Echo "" | sudo tee /var/www/html/test.php
    Перезапускаем Apache:

    Sudo service apache2 reload
    Затем открываем адрес http://localhost/test.php , в случае успешной работы php7 появится страница с информацией об установленном php:



    Рис. 6. Страница с информацией об php

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

    Cat /etc/hosts | grep localhost 127.0.0.1 localhost::1 ip6-localhost ip6-loopback
    Локальный IP равен 127.0.0.1. Теперь посмотрим какой адрес использует MySQL, выполнив команду:

    Cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind-address bind-address = 127.0.0.1
    Адреса совпадают, значит настроено верно, что и должно быть по умолчанию.

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

    Установка PhpMyAdmin производится командой:

    Sudo apt install phpmyadmin php-mbstring php7.0-mbstring php-gettext



    Рис. 7. Установка PhpMyAdmin

    Во время установки нужно будет выбрать, какой веб-сервер будет настраиваться для запуска PhpMyAdmin, здесь выбираем apache2 и нажимаем Enter.
    Придумываем MySQL пароль приложения для PhpMyAdmin:

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

    После установки PhpMyAdmin, в терминале последовательно выполняем команды:

    Sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo service apache2 reload
    Теперь переходим в веб-браузере по ссылке http://localhost/phpmyadmin/ и проверяем работу PhpMyAdmin, если инструкция была выполнена полностью, то увидим:



    Рис. 12. Вход в PhpMyAdmin

    Для входа в PhpMyAdmin вводим имя пользователя root и пароль, указанный при настройке PhpMyAdmin.

    Заключение.

    Веб-сервер LAMP и PhpMyAdmin успешно установлены. Теперь мы можем размещать по адресу /var/www/html свои локальные сайты. И в следующей статье я расскажу про установку Joomla.
    В продолжение темы:
    Модемы

    Здравствуйте, уважаемые друзья. Сегодня речь пойдёт про конечные заставки YouTube. Функция появилась, относительно, недавно и её можно использовать в своих видео.Если помните,...