Установка пакетов в centos 7

Configure phpMyAdmin

Copy the sample configuration file.

cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

Edit the configuration file and add the blowfish secret.

vi /usr/share/phpMyAdmin/config.inc.php

Generate blowfish secret and update the secret in the below line.

$cfg = 'bo95yavJ;V,1PzSlxyFwtyMJ}WmG98-6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Import the create_tables.sql to create new tables for phpMyAdmin.

mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p

Create a virtual host file for phpMyAdmin (Ex. phpMyAdmin.conf) under /etc/nginx/conf.d directory.

vi /etc/nginx/conf.d/phpMyAdmin.conf

Paste the following content into the above file. Change the domain name as per your requirement.

server {
   listen 80;
   server_name pma.itzgeek.local;
   root /usr/share/phpMyAdmin;

   location / {
      index index.php;
   }

## Images and static content is treated different
   location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log off;
      expires 30d;
   }

   location ~ /\.ht {
      deny all;
   }

   location ~ /(libraries|setup/frames|setup/libs) {
      deny all;
      return 404;
   }

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name;
   }
}

Create a tmp directory for phpMyAdmin and change the permission.

mkdir /usr/share/phpMyAdmin/tmp

chmod 777 /usr/share/phpMyAdmin/tmp

Set the ownership of the phpMyAdmin directory, as shown below.

chown -R apache:apache /usr/share/phpMyAdmin

Restart the services.

systemctl restart nginx 

systemctl restart php-fpm

Настройка SELinux для web сервера apache

Раздел для тех, кто хочет настроить SELinux на своем web сервере. Сначала ставим пакет policycoreutils-python-utils если он еще не установлен. Он нам нужен для утилиты semanage.

# dnf install policycoreutils-python-utils

Теперь автоматически сформируем модуль для selinux на основе событий аудита, которые накопились, пока мы настраивали сайт. Посмотреть их можно командой.

# grep httpd /var/log/audit/audit.log | audit2why

Создаем модуль selinux.

# grep httpd /var/log/audit/audit.log | audit2allow -M my-httpd

Загружаем его.

# semodule -i my-httpd.pp

То же самое делаем для php.

# grep php /var/log/audit/audit.log | audit2allow -M my-php
# semodule -i my-php.pp

Добавим нашу директорию /web/sites в соответствующие таблицы selinux для контента и логов.

# semanage fcontext -a -t httpd_sys_content_t "/web/sites(/.*)?"
# semanage fcontext -a -t httpd_log_t "/web/sites(/.*)?/log(/.*)?"

И отдельно добавим каталог, куда web сервер сможет писать данные. Я покажу на примере правила для сайтов wordpress, где web сервер должен уметь писать в директорию wp-content для загрузки медиафайлов, установки тем и плагинов, а так же изменять файл wp-config.php.

# semanage fcontext -a -t httpd_sys_rw_content_t "/web/sites/\*/www/wp-content(/.\*)?"
# semanage fcontext -a -t httpd_sys_rw_content_t "/web/sites/\*/www/wp-config.php"

Обновляем атрибуты файлов новым контекстом SELinux.

# restorecon -Rv /web/sites

В завершении настройки selinux для apache, добавим еще один параметр, без которого httpd не сможет писать файлы в указанные каталоги.

# setsebool -P httpd_unified 1

Теперь активируем защиту selinux и проверяем, что она работает.

# setenforce 1
# getenforce
Enforcing

Режим работы Enforcing означает, что selinux работает. Убедиться, что модули загружены, можно командой.

# semodule -l | grep my-

В целом, по selinux все. Мы просто разрешили все, что веб сервер просил. По идее, надо вдумчиво во всех правилах разбираться и разрешать только то, что считаешь нужным. Я честно скажу, что selinux знаю не очень хорошо. Дальше загрузки готовых модулей и автоматического создания модулей с помощью audit2allow я не двигался. Руками модули никогда не писал. Если есть какой-то более осмысленный и правильный способ настройки selinux на кастомной конфигурации веб сервера, буду рад полезной информации.

Хорошая практическая статья по ручной настройке selinux для web сервера — https://habr.com/ru/post/322904/. Там же есть ссылки на другие статьи автора на тему selinux. Написано содержательно и наглядно, рекомендую для тех, кто будет знакомиться с технологией.

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

Настройка виртуального домена зависит от веб-сервера, который мы используем. Разберем примеры для NGINX и Apache.

NGINX

В данном примере мы рассмотрим настройку связки NGINX + php-fpm. Также мы сконфигурируем два варианта прослушивания — виртуальный домен и с добавлением пути /phpmyadmin.

1) На отдельном домене

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

vi /etc/nginx/conf.d/phpMyAdmin.conf

server {
        listen       80;
        server_name  phpmyadmin.dmosk.local;
        set $root_path /usr/share/phpMyAdmin;
        location / {
                root $root_path;
                index index.php;
        }
        location ~ \.php$ {
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
                fastcgi_read_timeout 300;
        }
}

* где:

listen — порт, на котором слушает nginx для данного домена.
server_name — домен для которого применяются настройки server. В данном примере phpmyadmin.dmosk.local.
root_path — переменная, в которую мы заносим наш путь до phpMyAdmin.
location / — настройки для запросов к серверу. В конкретном случае, мы используем root_path в качестве корневой директории для скриптов сайта; опция index нужна для поиска скрипта по умолчанию, если нет явного обращения клиентом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm

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

fastcgi_pass — данный параметр важен и зависит от настройки php-fpm

Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.

Проверяем корректность настройки nginx:

nginx -t

… и если ошибок нет, перезапускаем сервис:

systemctl restart nginx

2) С помощью location /phpmyadmin

Открываем конфигурационный файл для домена по умолчанию:

vi /etc/nginx/conf.d/default.conf

* в вашей ситуации, файл с доменом по умолчанию может быть другим. 

Добавляем location ^~ /phpmyadmin со следующими настройками:

server {
        listen       80 default_server;
        …
        location /phpmyadmin {
            root /usr/share/;
            index index.php;
            location ~ ^/phpmyadmin/(.+\.php)$ {
                root /usr/share/;
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_read_timeout 300;
            }
            location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                root /usr/share/;
            }      
        }
}

* где:

root — каталог, в котором находится каталог с phpmyadmin с порталом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm

Стоить обратить внимание, что последний может слушать на порту (по умолчанию, 9000) или через сокет-файл. В примере выше используется последний вариант, а способ с портом закомментирован.
fastcgi_pass — данный параметр важен и зависит от настройки php-fpm

Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.

Проверяем корректность настройки nginx:

nginx -t

… и если ошибок нет, перезапускаем сервис:

systemctl restart nginx

3) Проверка настройки php-fpm

После настройки nginx проверяем настройку php-fpm:

vi /etc/php-fpm.d/www.conf

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

listen = /run/php-fpm/www.sock

* на основе порта — listen = 127.0.0.1:9000.

Если конфигурационный файл пришлось менять, перезапускаем сервис:

systemctl restart php-fpm

Apache

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

vi /etc/httpd/conf.d/phpMyAdmin.conf

<VirtualHost *:80>
    Define root_domain phpmyadmin.dmosk.local
    Define root_path /usr/share/phpMyAdmin
    ServerName ${root_domain}
    ServerAlias www.${root_domain}
    DocumentRoot ${root_path}
    <Directory /usr/share/phpMyAdmin>
        AllowOverride All
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Проверяем корректность настройки apache:

apachectl configtest

… и если ошибок нет, перезапускаем сервис:

systemctl restart httpd

Конфигурации виртуальных хостов

Стандартный виртуальный хост находится в файле default в каталоге sites-available.

Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:

По умолчанию виртуальный хост обрабатывает запросы на порте 80.

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

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

Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.

Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.

Параметр ServerAlias позволяет добавить алиасы сайта – альтернативные имена и пути, ведущие к одному контенту. Так, например, часто устанавливается алиас домена с www.

DocumentRoot задаёт каталог, в котором веб-сервер хранит контент данного виртуального хоста. В Ubuntu для этого по умолчанию используется /var/www.

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

Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.

По умолчанию Ubuntu не накладывает никаких ограничений на файловую систему. Apache рекомендует добавить несколько стандартных ограничений доступа, например:

Это заблокирует доступ ко всему контенту, если в последующих определениях каталогов не указано иное.

Далее идут настройки каталога document root, в которых параметр allow from all переопределяет параметры каталога /.

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

Настройки Alias и ScriptAlias

Иногда перед разделом Directory идут параметры Alias и ScriptAlias.

Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.

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

К примеру, такая строка в виртуальном хосте для сайта example.com откроет доступ к контенту в каталоге /path/to/content/ при запросе example.com/content/.

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

Включение сайтов и модулей в Apache

Создав файл виртуального хоста, вы можете включить его. Для этого нужно создать символическую ссылку на файл в каталоге sites-enabled:

Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:

Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:

После этого нужно снова перезапустить веб-сервер:

Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):

Они работают так же, как и ранее упомянутые команды a2ensite иa2dissite. После включения или отключения модуля нужно перезапускать веб-сервер.

Свой сертификат для панели управления

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

а) Способ 1. Заменить сертификаты.

Переходим в каталог:

cd /usr/local/mgr5/etc/

Создаем копию имеющихся сертификатов:

cp manager.* /tmp/

Заменяем файлы manager.crt (ключ открытого сертификата) и manager.key (закрытый сертификат) на свои.

б) Способ 2. Добавить в конфигурационный файл свой путь до сертификатов.

Открываем конфигурационный файл ihttpd:

vi /usr/local/mgr5/etc/ihttpd.conf

Находим настройку, на подобие:

listen {
        ip xxx.xxx.xxx.xxx
        redirect
}

* где xxx.xxx.xxx.xxx — IP-адрес, на котором слушаем ISPmanager.

… и приведем ее к виду:

listen {
        ip xxx.xxx.xxx.xxx
        cert /etc/letsencrypt/live/dmosk.ru/cert.pem
        certkey /etc/letsencrypt/live/dmosk.ru/privkey.pem
        redirect
}

* где cert — путь до сертификата с открытым ключом; certkey — путь до закрытого сертификата в нашей системе.

После изменений перезапускаем сервис ihttpd:

systemctl restart ihttpd

Configure phpMyAdmin

Copy the sample configuration file.

cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

Edit the configuration file and add a blowfish secret.

vi /usr/share/phpMyAdmin/config.inc.php
$cfg = 'bo95yavJ;V,1PzSlxyFwtyMJ}WmG98-6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Import the create_tables.sql to create new tables for phpMyAdmin.

mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p

Create an alias in the Apache webserver so that phpMyAdmin can be accessed with http://your-ip-add-dress/phpmyadmin.

vi /etc/httpd/conf.d/phpMyAdmin.conf

Copy and paste the below content to the above file.

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny> 
      Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

Create a tmp directory for phpMyAdmin and change the permission.

mkdir /usr/share/phpMyAdmin/tmp

chmod 777 /usr/share/phpMyAdmin/tmp

Set the ownership of phpMyAdmin as shown below.

chown -R apache:apache /usr/share/phpMyAdmin

Restart the service.

systemctl restart httpd

7 Установка phpMyAdmin

phpMyAdmin — это веб-интерфейс, с помощью которого вы можете управлять своими базами данных MySQL.

phpMyAdmin теперь можно установить следующим образом:

yum -y install phpMyAdmin

Теперь мы настраиваем phpMyAdmin. Мы изменили конфигурацию Apache, чтобы phpMyAdmin разрешал соединения не только с локального хоста (закомментировав раздел и добавив строку «Требовать все предоставлено»):

nano /etc/httpd/conf.d/phpMyAdmin.conf

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin


 AddDefaultCharset UTF-8

 
 # Apache 2.4
# 
# Require ip 127.0.0.1
# Require ip ::1
# 
 Require all granted
 
 # Apache 2.2
 Order Deny,Allow
 Deny from All
 Allow from 127.0.0.1
 Allow from ::1
 
        Options none
        AllowOverride Limit
        Require all granted

Перезапустите Apache, чтобы применить изменения конфигурации

systemctl restart  httpd.service

После этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:

PHPMyAdmin Войти

PHPMyAdmin на CentOS

Prerequisites

Before we begin, there are a few requirements that need to be settled.

To ensure that you have a solid base to build this system upon, you should run through our initial server setup guide for CentOS 7. Among other things, this will walk you through setting up a non-root user with access for administrative commands.

The second prerequisite that must be fulfilled in order to start on this guide is to install a LEMP (Linux, Nginx, MariaDB, and PHP) stack on your CentOS 7 server. This is the platform that we will use to serve our phpMyAdmin interface (MariaDB is also the database management software that we are wishing to manage). If you do not yet have a LEMP installation on your server, follow our tutorial on installing LEMP on CentOS 7.

When your server is in a properly functioning state after following these guides, you can continue on with the rest of this page.

Где скачать AppImages для Linux

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

Шаг 1. Перейдите на AppImageHub.com. Оказавшись там, прокрутите вниз до раздела категорий. Есть много категорий, включая аудио, образование, игры и т. Д.

Шаг 2: После выбора категории вам будет представлен список изображений приложений для этой категории. Просмотрите список и выберите AppImage, который хотите установить на свой компьютер.

Шаг 3: Выберите кнопку «Файлы». Выбор «Файлы» покажет доступные загрузки. Затем щелкните мышью на AppImage в области «Файлы».

Шаг 4: Нажмите кнопку загрузки, чтобы загрузить AppImage на свой компьютер. Скачивание не должно занимать много времени, поскольку AppImages не такие уж большие.

Когда процесс будет завершен, запустите папку «Загрузки» в файловом менеджере Linux.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: