понедельник, 2 января 2017 г.

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

Операционная система Linux - отличная платформа для создания и тестирования веб сайтов. Учитывая, что большинство веб серверов используют Linux в качестве операционной системы, то и тестировать сайты лучше в этой системе, с использованием тех же инструментов, даже если это домашний компьютер. Намного удобнее иметь все под рукой и не боятся повредить сайт на сервере.
Сегодня мы поговорим о LAMP. На самом деле, это не программа, это стек программ с открытым исходным кодом необходимых для работы веб-сайтов, название лишь формальное и походит оно от первых букв названий входящих туда программ. Linux Apache MySQL PHP, а вместе LAMP, это те программы, которые нужно установить и настроить, для того, чтобы начать разрабатывать сайты или веб-приложения на домашнем компьютере. Linux - тут все понятно, это наша операционная система, Apache - веб сервер, MySQL - программа для управления базами данных и PHP - на данный момент, самый популярный язык для веб-программирования.
В этой инструкции будет рассмотрена установка LAMP ubuntu 16.04 Мы рассмотрим как установить Apache 2.4, MariaDB в качестве базы данных mysql и самую новую версию языка PHP 7. Для начала будет выполнена установка Apache ubuntu 16.04, так как это главный компонент всей системы, а уже потом подключим к нему дополнительные компоненты.

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

Apache - это кроссплатформенный веб-сервер с открытым исходным кодом. Он поддерживает все необходимые функции веб-сервера, включая CGI, SSL, и виртуальные домены.
Установить Apache в Ubuntu очень просто, для этого достаточно выполнить:
$ sudo apt-get install apache2
После установки добавим программу в автозагрузку:
$ sudo systemctl enable apache2
И запустим веб-сервер сейчас:
$ sudo systemctl start apache2
lamp
Теперь можно проверить что получилось, откройте браузер и наберите в адресной строке localhost:
lamp1
Как видите, установка apache ubuntu 16.04 завершена и веб-сервер уже работает. Но это еще не все. Все отлично, если у вас один сайт, который нужно тестить на локальной машине, но если их несколько собирать все в под папках веб-сервера не совсем удобно, да и не все движки нормально относятся к этому, потому давайте рассмотрим как настроить виртуальные хосты.
Создайте новую папку для нашего виртуального хоста:
$ sudo mkdir /var/www/test.site
Дадим права на доступ:
$ sudo chmod -R 755 /var/www
Необходимо создать небольшой файл, index.html, чтобы он открылся когда вы откроете этот сайт:
$ sudo vi /var/www/test.site/public_html/index.html
<html>
<head>
<title>Welcome to Test!</title>
</head>
<body>
<h1>Success! Virtual host is working!</h1>
</body>
</html>
Теперь можно добавлять виртуальный хост, для этого создайте файл и наполните его содержимым:
$ sudo vi /etc/apache2/sites-available/test.site.conf
<VirtualHost *:80>
ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Вот что значат некоторые строки:
  • ServerName - имя нашего сайта, виртуального хоста
  • ServerAlias - сайт будет доступен также по этому имени
  • DocumentRoot - корневой каталог с файлами сайта
Теперь сохраните файл, далее нужно активировать наш хост:
$ sudo a2ensite test.site.conf
Перезапускаем веб сервер:
$ sudo systemctl restart apache2
Теперь необходимо завернуть трафик с этого домена на локальный сервер, для этого добавьте строчку в /etc/hosts:
$ sudo vi /etc/hosts
127.0.0.1 test.site
Откройте браузер и в адресной строке наберите test.site:
lamp2
Кроме того, мы можем включить поддержку ssl для нашего веб-сервера. Для этого выполните:
$ a2enmod ssl
$ a2ensite default-ssl
После этого нужно будет перезагрузить веб-сервер:
$ sudo systemctl restart apache2
Теперь вы можете проверить работу SSL, набрав адрес https://localhost.
lamp20
Браузер не доверяет нашему сертификату, поскольку он самоподписанный, но мы можем спокойно добавлять его в исключения, это ведь наш сертификат. Теперь работает:

lamp21Установка PHP 7

Без языка программирования установка и настройка lamp в Ubuntu будет не завершена. PHP - это самый популярный язык программирования в веб. Его название, это рекурсивный акроним - PHP Hypertext Processor. Кроме того, что этот язык используется в веб, его можно применять, как язык общего назначения, язык сценариев.
Установка php 7 Ubuntu 16.04 выполняется следующей командой:
$ sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi  php7.0 libapache2-mod-php7.0
Если вы хотите установить все доступные модули php, чтобы в будущем не было проблем, вы можете выполнить команду:
$ sudo apt-get install php*
После завершения установки проверим версию php:
$ php -v
lamp3
Теперь пора проверить как все работает. Для этого создайте файл со следующим кодом на php:
$ sudo vi /var/www/test.site/public_html/test.php
<?php phpinfo(); ?>
lamp5
Осталось перезапустить apache2:
$ sudo systemctl restart apache2
Откройте еще раз наш сайт в браузере, на этот раз нас интересует страница test.php:
lamp4
Установка php 7 ubuntu 16.04 завершена и все очень хорошо работает. Но нужно еще кое-что настроить, а именно включить отображение ошибок в php. Иначе при возникновении ошибки вы увидите просто пустую страницу. Для этого откройте файл /etc/php/7.0/apache2/php.ini, найдите строку display_errors = Off и поменяйте off на on:
$ vi /etc/php/7.0/apache2/php.ini
lamp6
Теперь переходим к следующему этапу.

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

Базы данных используются сейчас почти в каждом движке интернет сайтов. Поэтому важно иметь на своем компьютере и это программное обеспечение. Установка Lamp Ubuntu 16.04 не может обойтись без базы данных, но в этой инструкции вместо Mysql мы будем использовать ее улучшенную и оптимизированную версию - MariaDB. Это очень надежный и масштабируемый сервер SQL со множеством улучшений и усовершенствованием.
Установка mariadb ubuntu 16.04 выполняется с помощью команды:
$ sudo apt-get install mariadb-server mariadb-client
Когда установка mysql ubuntu 16.04 будет завершена, мы можем переходить к настройке базы данных, для этого выполните команду:
$ sudo mysql_secure_installation
Сначала необходимо ввести текущий пароль root, просто нажимаем Enter, поскольку он еще не задан:
lamp7
Далее нажимаем у, чтобы задать новый пароль:
lamp8
Затем отключаем гостевые аккаунты:
lamp9
Отключаем удаленный доступ через root:
lamp10
Удаляем тестовые базы данных:
lamp11
Перезаписываем таблицы привилегий:
lamp12
Вот и все, установка mysql ubuntu 16.04 завершена и база данных готова к работе.

Установка phpmyadmin ubuntu 16.04

Установка и настройка lamp в ubuntu 16.04 также будет включать установку Phpmyadmin. Phpmyadmin - это бесплатный инструмент, с открытым исходным кодом, для реализации веб-интерфейса управления базами данных MySQL. Он доступен в официальных репозиториях Ubuntu 16.04, установим его с помощью команды:
$ sudo apt-get install phpmyadmin php-mbstring php-gettext
Но тут уже во время установки потребуется немного конфигурации. Сначала нужно выбрать наш веб-сервер:
lamp14
Для перемещения по пунктам используйте стрелки вверх/вниз, для выбора пробел, для переключения - Tab.
В следующем окне мастера нам предлагают настроить базу данных phpmyadmin, соглашаемся:
lamp15
Вводим пароль, который будет использован для подключения phpadmin к базе данных:
lamp16
Подтверждение пароля:
lamp17
По умолчанию в MariaDB есть плагин под названием unix_socket, он предотвращает вход под именем пользователя root в phpmyadmin или с помощью других TCP интерфейсов. Для его отключения выполните:
$ sudo -i
$ echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql
Когда установка phpmyadmin ubuntu 16.04 будет завершена откройте браузер и наберите в адресной строке localhost/phpmyadmin:
lamp18
Все работает, для доступа к базе данных вы можете ввести логин root и его пароль, который задали на этапе настройки MySQL:
lamp19

Выводы

Вот и все установка lamp ubuntu 16.04 завершена успешно. Теперь все работает и вы можете приступать к созданию своих проектов.

Установка PhpMyAdmin Ubuntu на Nginx или Apache

Phpmyadmin - это один из самых популярных инструментов для управления базами данных mysql через веб-интерфейс. Он написан на php и JavaScript и с помощью него вы можете управлять локальным или удаленным сервером баз данных.
Используя PhpMyAdmin, мы можем создавать, удалять, переименовывать, редактировать базы данных, таблицы, поля, а также управлять пользователями, экспортировать, импортировать записи и выполнять любые команды SQL. На данный момент поддерживаются сервера баз данных MariaDB, MySQL и Drizzle. В этой статье мы рассмотрим как выполняется установка PhpMyAdmin Ubuntu 16.04 на веб-сервер Apache или Nginx.

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

Дальше, я буду предполагать, что все необходимое программное обеспечение, такое как mysql, php и веб-сервер apache или nginx уже установлены. Если еще нет, то вы можете просмотреть инструкцию установка LAMP в Ubuntu 16.04.
Утилита phpmyadmin доступна в официальных репозиториях Ubuntu. Поэтому вы можете очень просто установить ее оттуда. Для этого сначала обновим список репозиториев:
$ sudo apt update
Затем установим саму программу:
$ sudo apt install phpmyadmin
В официальных репозиториях содержится более старая версия, поэтому если вы хотите установить phpmyadmin ubuntu самой новой версии, нужно использовать PPA:
$ sudo add-apt-repository ppa:nijel/phpmyadmin
$ sudo apt-get update
$ sudo apt install phpmyadmin
Во время установки будет необходимо выбрать веб-сервер, с которым мы будем устанавливать phpmyadmin, выберите Apache с помощью пробела и нажмите Ок:
Настройки для Nginx придется указывать вручную и их мы рассмотрим чуть позже. Дальше нужно установить пароль на базу данных PhpMyAdmin, нажмите Да:
Затем введите два раза нужный пароль. Он вам вряд ли понадобится в дальнейшим, так что можете выбрать что-то сложное:
Возможно, для того чтобы все заработало придется включить несколько модулей php и конфигурационный файл apache:
$ sudo phpenmod mcrypt
$ sudo phpenmod mbstring
Затем включите конфигурационный файл Apache:
$ sudo a2enconf phpmyadmin
Установка phpmyadmin nginx ubuntu выполняется добавлением следующей секции в файл /etc/nginx/nginx.conf мы предполагаем, что nginx работает через php-fpm:
$ sudo vi /etc/nginx/nginx.conf
server{
listen 80;
server_name phpmyadmin;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
location ^~ /phpmyadmin/ {
alias /usr/share/phpMyAdmin/;
index index.php;
location ~ /phpmyadmin(/.*\.php) {
include fastcgi.conf;
fastcgi_param SERVER_NAME localhost;
fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}
Сохраните и перезагрузите ваш веб-сервер:
$ sudo systemctl restart apache2
Или:
$ sudo systemctl restart nginx
Теперь, все точно должно работать. Откройте браузер и наберите в адресной строке http://localhost/phpmyadmin:
Введите ваш логин и пароль и затем, вы сможете делать все, что вам нужно с базами данных.

Защита PhpMyAdmin

Установка phpmyadmn Ubuntu 16.04 завершена. Но эта программа дает полный контроль над базой данных, поэтому нам нужно обеспечить максимальную ее безопасность. Сделаем доступ к Phpmyadmin по паролю. Для настройки Apache создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержанием:
$ sudo vi /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Вот что значат эти строки:
  • AuthType Basic - эта строка устанавливает тип аутентификации, мы указываем что будем использовать пароль;
  • AuthName - задаем сообщение, которое будет видеть;
  • AuthUserFile - файл с данными, которые будут использоваться для аутентификации;
  • Require - необходимое условие, для аутентификации.
Дальше нужно создать .htaccess:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd пользователь
Вы можете добавить несколько пользователей, но для этого уже не используйте опцию -c:
$ sudo htpasswd /etc/phpmyadmin/.htpasswd пользователь
Теперь, при попытке открыть адрес phpmyadmin система запросит пароль. Только пользователи, которые введут пароль смогут получить доступ к интерфейсу входа phpmyadmin.

понедельник, 26 декабря 2016 г.

Проверка диска на битые секторы в Linux

Любой компьютер — сложное устройство, которые состоит из множества компонентов и никто не застрахован от сбоев любого из них. В этой статье мы рассмотрим как своевременно распознать одну из серьезных проблем с устройствами хранения информации, будь то жесткий диск или flash-накопитель, как выполняется проверка диска на битые секторы linux.
Любой накопитель состоит из множества маленьких блоков (секторов), которые хранят информацию в виде нулей или единиц (битов). Если, по какой-то причине, операционная система не может записать бит информации в определенный сектор, то можно считать его «битым».
Сектор может стать битым по разным причинам:
  • Заводской брак
  • Выключение питание компьютера во время записи информации.
  • Физический износ накопителя.
Небольшое количество битых секторов находится практически на любом накопителе. Но стоит обратить внимание,если их количество со временем увеличивается. Это может говорить о скорой физической смерти накопителя и Вам пора задуматься о его замене.
Давайте рассмотрим, при помощи каких утилит в Linux мы можем проверить диск на битые секторы linux.

Проверка накопителя на битые секторы средствами badblocks.

Badblocks — стандартная утилита Linuх для проверки на битые секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как жесткий диск, так и внешний накопитель.
Для начала давайте посмотрим, какие накопители подключены к нашей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Естественно, что выполнять команды нужно с правами суперпользователя:
$ sudo fdisk -l
Параметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти.
Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы будем использовать утилиту badblocks следующим образом:
$ sudo badblocks -v /dev/sda1 > badsectors.txt
Для проверки мы указываем следующие параметры:
  • -v — подробный вывод информации о результатах проверки.
  • /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
  • > badsectors.txt — выводим результат выполнения команды в файл badsectors.txt.
Если же в результате были найдены битые секторы, то нам надо дать указание операционной системе не записывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
  • e2fsck. Если мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
  • fsck. Если мы будем исправлять файловую систему, отличную от ext.
Вводим следующие команды:
$ sudo e2fsck -l badsectors.txt /dev/sda1
Или, если у нас файловая система не ext:
$ sudo fsck -l badsectors.txt /dev/sda1
Параметром -l мы говорим утилите использовать список битых секторов из файла badsectors.txt, который мы получили ранее при проверке с помощью утилиты badblocks.

Проверка накопителя на битые секторы в Linux в smartmontools

Теперь давайте рассмотрим более современный и надежный способ проверить диск на битые секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая производит мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools.
Давайте сначала ее установим. Если ваш дистрибутив основан на Debian\Ubuntu, то вводите:
$ sudo apt install smartmontools
Если же у Вас дистрибутив на основе RHEL\CentOS, то вводите:
$ sudo yum install smartmontools
Теперь, когда мы установили smartmontools мы можем посмотреть станицу помощи, введя команды:
$ man smartctl
или
$ smartctl -h
Давайте перейдем к работе с утилитой. Вводим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
$ sudo smartctl -H /dev/sda1
Как видим, проверка диска на битые секторы linux завершена и утилита говорит нам, что с накопителем все в порядке!
Дополнительно, можно указать следующие параметры -a или --all, чтобы получить еще больше информации о накопителе, или -x и --xall, чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.

Выводы

В этой статье мы рассмотрели способы проверки накопителей на наличие битых секторов под Linux для того,чтобы вовремя предусмотреть возможные сбои и не потерять данные.
Источник: www.tecmint.com