установка dokuwiki centos php nginx часть 2

посмотреть часть 1

Установка CentOS


https://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/

https://sys-adm.in/os/nix/669-ustanovka-centos-7.html
https://www.if-not-true-then-false.com/2014/centos-7-netinstall-guide/
https://wiki.centos.org/HowTos/PXE/PXE_Setup
https://centos.name/?page/howto/PXE-Setup
http://wikiadmin.net/boot-pxe-install-or-live-on-centos7/
Настройка сервера сетевой установки на базе CentOS
Инструкция по установке с EFI

записать на флешку, софт для записи, ошибки при установке

Установка в текстовом режиме
Когда увидите пункт install centos меню, нажать клавишу табуляции, добавить text в конец всех существующих параметров командной строки установщика, а затем нажать клавишу enter.

Дистрибутив
https://mirror.yandex.ru/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-NetInstall-1804.iso
http://isoredirect.centos.org/centos/7/isos/x86_64/

в качестве репозитория при установке добавить
https://mirror.yandex.ru/centos/7/os/x86_64/
http://mirror.centos.org/centos/7/os/x86_64/

Автоматическая установка
https://www.tecmint.com/multiple-centos-installations-using-kickstart/
Kickstart или Автоматическая установка CentOS Linux
https://github.com/m0zgen/centos-kickstart-image-generator

Установщик CentOS автоматически создает файл /root/anaconda-ks.cfg, который содержит абсолютно всю информацию о выбранных пакетах и настройках установки текущей ОС. Это позволяет производить автоматическую установку системы
https://nixadmin.ru/centos_pxe_kickstart
/usr/sbin/system-config-kickstart

пример конфига



если интернет по DHCP, то
network --bootproto=dhcp --device=eth0 --noipv6 --activate
network --hostname=centos-test

если шина диска hda, sata, scsi, то
clearpart --all --initlabel --drives=sda

инсталяционные источники
http://mirror.centos.org/centos/7/os/x86_64/
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/

установка с kickstart
Указать файл можно вручную, на этапе отображения загрузочного меню установочного диска, нажать Esc в терминале ввести:
linux inst.ks=<путь к файлу kickstart>
Например:
linux inst.ks=cdrom:/dev/cdrom:/ks.cfg

Распаковка ISO образа
mount /home/User/Downloads/iso/CentOS-7-x86_64-Minimal-1611.iso /mnt/iso/
mkdir /tmp/centos_custom/
cp -rp /mnt/iso/* /tmp/centos_custom/

Добавление kickstart файла в образ
копируем наш kickstart файл в корень папки centos_custom, указываем ему название ks.cfg, после добавляем пункт загрузочного меню изменив файл isolinux/isolinux.cfg, добавив в него следующие строки:
label auto 
  menu label ^Auto install CentOS Linux 7 
  kernel vmlinuz
  append initrd=initrd.img inst.ks=cdrom:/dev/cdrom:/ks.cfg

Строки необходимо вставить в секцию, где расположены label по умолчанию, например сразу перед строками раздела:

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

Можно также добавить текстовую загрузку:

label text
  menu label ^Text install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet text


Создание ISO из папки образа
cd /tmp/centos_custom


Kickstart можно использовать с обыкновенной флешкой. Для этого нужно скопировать anaconda-ks.cfg с уже установленной системы, предварительно смонтировав флешку,

root@server01 [~]# mount /dev/sdc1 /media
root@server01 [~]# cp /root/anaconda-ks.cfg /media/ks.cfg
и запустить установку CentOS с такими опциями :

linux ks=hd:sdc1:/ks.cfg


Ошибки при установке
"/sbin/dmsquash-live-root: line 273: write error: No space left on device"
У установок Kickstart RHEL 7 и выше требуется не менее 2 ГБ памяти, назначенных машине.

Генерация пароля
https://thornelabs.net/2014/02/03/hash-roots-password-in-rhel-and-centos-kickstart-profiles.html
openssl passwd -1 "my_password"
mkpasswd -m sha-512
echo "my_password" | md5sum
echo "my_password" | sha512sum

Работа с пакетами
поиск пакета по файлу
yum whatprovides "*/grub-crypt"
yum search netstat
repoquery -qf */netstat */lsof */nmap

очистка кеша и переиндексация репозиториев (в случае ошибки)
yum clean all

установка нужных пакетов
Yum, шпаргалка
EPEL Repo на CentOS 7/6 — Инструкция по Установке
yum install epel-release

yum install mc ncdu nano curl wget pciutils netstat net-tools

Базовая настройка CentOS 7
Настройка сети в CentOS 7
uzverss работа с сетевыми интерфейсами

создание пользователей
adduser username
passwd username
gpasswd -a username wheel # добавить в группу
gpasswd -d username wheel # удалить из группы
userdel username
userdel -r username # удалит пользователя с каталогом
sudo lid -g wheel

глянуть пользователей
cat /etc/passwd | awk /bash/{print}


коротко об systemd

удаление старых ядер
http://pyatilistnik.org/kak-udalit-staryie-yadra-centos-7-za-minutu/

rpm -q kernel
uname -a
yum -y install yum-utils

сделаем, так чтобы CentOS 7, оставлял только 2 или 3 ядра, а все остальное затирал
package-cleanup --oldkernels --count=2

Теперь сделаем, чтобы система сама, автоматически это делала и проводила ревизию
vi /etc/yum.conf
installonly_limit=3

удалить вручную
yum remove имя ядра


Синхронизация времени
https://itdraft.ru/2018/12/20/sinhronizacija-vremeni-v-centos-7/
http://fliplinux.com/centos-x44.html

По-умолчанию в Centos 7 minimal синхронизация времени не настроена
yum install chrony

Для изменения серверов синхронизации времени надо отредактировать файл
nano /etc/chrony.conf

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

Запускаем сервис и добавляем его в автозагрузку
systemctl start chronyd
systemctl enable chronyd

Смотрим статус
chronyc sources

Проверяем, активировалась ли синхронизация
timedatectl

ручная настройка
date +%T -s "17:34:55"

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

Alt + SysRq + B. Равнозначно нажатию кнопки Reset. Нежелательно, ибо высока вероятность потерять несохранённые данные.
Alt + SysRq + O. Выключает систему корректным образом.
Alt + SysRq + S. Синхронизует систему. Если выполнить перед первой командой, то можно не бояться за данные.
Alt + SysRq + K. Перезагружвет графическую оболочку. Выполнять, если всё зависло и не отвечает.
Alt + SysRq + R. Если не хочешь перезагружать иксы, отвиснет твою мышку и клавиатуру.
Alt + SysRq + H. Выводит вышеуказанные и все прочие доступные команды.


убрать заставку при загрузке grub
http://centosquestions.com/turn-off-progress-bar-centos-boot/

vi /etc/default/grub
Удалите rhgb quiet из этой записи
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

изменить на
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap"

после внесения этих изменений вам нужно переконфигурировать grub2
grub2-mkconfig -o /etc/grub2.cfg



Настройка русской локализации utf-8 в CentOS (старое)
Настройка русской локализации utf-8 в CentOS
Базовая настройка CentOS 7
locale -a | grep ru
нет русской локали то ее необходимо сделать. Команда для этого выглядит так:
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

файлы находящиеся в папке /usr/share/i18n/ принадлежат glibc-common-2.x.x и если вы их не наблюдаете там, то необходимо разбираться с самим glibc-common

touch /etc/sysconfig/i18n
LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"

запись в /etc/environment перебивает этот файл, т.е. если там есть LANG="en_US.UTF-8" то в /etc/sysconfig/i18n можно писать что угодно

если пустой /usr/share/i18n/locales/ и выдаёт ошибку
haracter map file `UTF-8' not found: No such file or directory
cannot read character map directory `/usr/share/i18n/charmaps': No such file or directory

yum -y install glibc-locale-source glibc-langpack-en
localedef -f UTF-8 -i en_US en_US.UTF-8

настройка раскладки и локали
system-config-language
system-config-keyboard

/etc/vconsole.conf
KEYTABLE="ru"
MODEL="pc105"
LAYOUT="us,ru"
VARIANT="intl"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll"


https://wiki.centos.org/EdHeron/EditorDefaultNano
для удобства работы настраиваем nano и делаем редактором по умолчанию



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



Проверим используемый в данный момент редактор по умолчанию:
echo $EDITOR

Установим nano редактором по умолчанию
export EDITOR=nano

Установка и Настройка OpenSSH-сервера


http://redhat-club.org/2011/установка-и-настройка-openssh-сервера-в-rhel-centos-fedora

yum install openssh-server

chkconfig sshd on
chkconfig --level 2345 sshd on
sudo systemctl reload sshd.service

systemctl restart sshd

Настройки SSH-сервера хранятся в файле /etc/ssh/sshd_config

далееНаиболее важные опции с точки зрения безопасности:

Port 22 – Порт по умолчанию.
Protocol 2,1 – Какая реализация протокола SSH будет использоваться. Рекомендую оставить только 2.
ListenAddress – По умолчанию SSH сервер прослушивает все доступные интерфейсы, что абсолютно не нужно в большинстве ситуаций. Необходимо прописать сетевой интерфейс, с которого будет осуществляться управление сервером.
PermitRootLogin yes – По умолчанию разрешает входить по SSH суперпользователю root. Необходимо указать no.
AllowUsers adminsys – Данный параметр разрешает входить по SSH только перечисленным пользователям.
AllowGroups wheel – Группа пользователей которой можно входить по SSH, опцию можно не использовать если указана опция AllowUsers.
DenyUsers baduser – Данная опция запрещает вход по SSH перечисленным пользователям.
DenyGroups badgroup – Данная опция запрещает вход по SSH перечисленным группам пользователей.
MaxAuthTries 3 – Сколько раз переспрашивать пароль при неверном вводе. В данном случае SSH-сервер после 3 неверных попыток разорвет соединение с клиентом.
LoginGraceTime 60 – Через сколько секунд разрывать соединение при отсутствии аутентификации со стороны клиента.
PermitEmptyPasswords no – Разрешать использовать пустые пароли. По вполне понятным причинам значение этого параметра no.
PrintLastLog yes – при входе пользователя в систему по SSH ему будет показано когда и откуда последний раз был произведен вход под данным пользователем.
LogLevel INFO – В качестве параметра этой опции необходимо указать уровень журналирования. Возможные значения QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2, DEBUG3. Чем выше уровень журналирования, тем больше информации появится в файле регистрации событий.
SyslogFacility AUTHPRIV – Куда будут попадать логи. Возможные значения: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
Посмотреть в каком файле окажется логируемая информация можно посмотрев опции syslogd в файле /etc/syslog.conf.


ошибки при подключении по ssh


Устанавливаем статический ip



узнаём интерфейс
ip a
nano /etc/sysconfig/network-scripts/ifcfg-интерфейс



ip neig flush all # очистить кэш arp
systemd-resolve --flush-caches # очистить кэш dns имён
systemctl restart systemd-resolved # обновить dns
sudo /etc/init.d/dns-clean start # очистить кэш dns имён для старых os

ip ro
yum install net-tools # нужен для роутинга
route add default gw 192.168.1.1 # добавить шлюз по умолчанию
route del default gw 192.168.1.1 # удалить шлюз по умолчанию
route add -net 192.168.2.0/24 gw 192.168.1.2 # дополнительный роутинг
route delete -net 192.168.1.0 # удалить маршрут

лучше обойтись без net-tools, поскольку он устарел
ip route add default via 192.168.1.1
ip route add default via 192.168.1.1


https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html
Для того чтобы добавленные маршруты работали после перезапуска системы необходимо прописать их в /etc/sysconfig/network-scripts/route-имя_интерфейса
default 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
172.16.1.0/24 via 192.168.0.1 dev eth0

systemctl restart network

Сменить имя и группу пользователя
Изменить только имя пользователя:
usermod --login new_username old_username

Чтобы изменить имя пользователя и имя домашнего каталога:
usermod --login new_username --move-home --home /home/dir_old_username old_username

Вы также можете изменить имя группы, связанной с пользователем:
groupmod --new-name new_username old_username

коротко:
usermod -l new_user -m -d /home/old_user old_user
groupmod -n new_user old_user


Ввод Linux в домен (инструкция от Eset)

SAMBA
Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера
nmcli connection modify "ens192" ipv4.addresses "192.168.1.100/24 192.168.1.1"

Настройка FQDN
hostnamectl set-hostname ls01.fqdn.com

Перезагружаем службу имен
systemctl restart systemd-hostnamed

Проверить результат можно следующими командами
hostnamectl status
hostname
hostname -s
hostname -f

SELINUX
На данном этапе службу SELINUX необходимо отключить, проверить статус службы SELINUX можно командой
sestatus

Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.
reboot

SAMBA
Установка
yum install samba

Добавление службы в автоматический запуск
chkconfig smb on

Запуск службы и проверка состояния
service smb start
smbstatus

firewallD
По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой

firewall-cmd --state

Для получения списка правил и сервисов используйте
firewall-cmd --list-all
firewall-cmd --list-services

Общий ресурс с анонимным доступом
Создаем папку для ресурса /samba/guest
mkdir /samba
mkdir /samba/guest

Меняем владельца и назначаем права
chown nobody:nobody /samba/guest
chmod 777 /samba/guest

Редактируем файл конфигурации SAMBA /etc/samba/smb.conf
nano /etc/samba/smb.conf

Меняем содержание строк оригинального файла на следующее



min protocol = NT1 выставить если есть windows XP и нет win10
если есть win 10 то https://support.microsoft.com/ru-ru/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and

Проверка параметров и перезагрузка службы
testparm
service smb restart
smbstatus

запускаем SELINUX


особенности установки Oracle linux
wget -c http://mirrors.kernel.org/oracle/OL7/u6/x86_64/x86_64-boot-uek.iso
при установке указать репозиторий
yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/

список зеркал для загрузки
https://community.oracle.com/docs/DOC-917963
список реп
http://yum.oracle.com/oracle-linux-7.html

Подключение публичного Yum-репозитория для Oracle Enterprise Linux
https://stan1slav.blogspot.com/2010/08/yum-oracle-enterprise-linux.html
cd /etc/yum.repos.d
mv oracle-linux-ol7.repo oracle-linux-ol7.repo.disabled
wget http://public-yum.oracle.com/public-yum-ol7.repo
Изменить в файле описания репозитариев (public-yum-el*.repo) enabled=0 на enabled=1 для необходимых секций.

если нужно поставить MySQL
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
rpm -Uvh mysql80-community-release-el7-2.noarch.rpm

установка инструмента разработчиков MySQL Workbench
yum install mysql-workbench-community

Увеличение LVM диска
Правильное увеличение размера диска в виртуальной машине
Увеличение LVM диска в виртуальной машине на лету
https://www.gotoadm.ru/resize-disk-lvm-on-linux-centos/
lvextend и lvreduce изменяют размер логического тома. опция -r
resize2fs работает с файловыми системами ext2/3/4 и должен использоваться после того, как один из них выпустил lvextend
команда resize2fs ПОСЛЕ расширения или ПРЕЖДЕ ЧЕМ уменьшить логические экстенты, назначенные данному логическому тому
df -h
parted /dev/sda
print
resizepart 2
resizepart 3
quit
pvs
lvscan
lvdisplay
vgs
pvresize /dev/sda3
lvextend /dev/test-srv-vg/root -l +100%FREE

pvdisplay -Cv
vgscan
vgchange -ay
resize2fs /dev/test-srv-vg/root

fsck -f /dev/mapper/test--srv--vg-root (если не смонтирована)
fdisk -l /dev/sda


Ставит LEMP



https://www.hostinger.com/tutorials/how-to-install-lemp-centos7
https://www.cloudjojo.com/how-to-install-nginx-mariadb-php-lemp-on-centos-7/
https://serveradmin.ru/ustanovka-i-nastroyka-nginx-php-fpm-php7-1-na-centos-7/

1) установка nginx
yum install epel-release -y
yum install nginx -y
systemctl start nginx
systemctl enable nginx

2) установка MySQL (MariaDB)
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
MariaDB запросит пароль root, так как это первоначальная установка, и у вас его нет, поэтому просто нажмите enter. Следующее приглашение спросит, хотите ли вы установить пароль root, введите Y и следуйте инструкциям

3) установка PHP v7.3
yum repolist
yum install yum-utils
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
curl -O http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
yum --enablerepo=remi,remi-php73 install php-fpm php-common



обновить php
yum-config-manager --disable remi-php73
yum-config-manager --enable remi-php74
yum update -y

4) настройка связки nginx + php
/etc/nginx/conf.d - каталог для запуска конфигураций, сюда добавляем символические ссылки
например: ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
/etc/nginx/virt_host - папка для хранения файлов конфигураций хостов (можно обозвать по другому)

в дебиановых
sites-available
каталог для хранения файлов хостов
sites-enabled
каталог, предоставляющий Nginx список хостов, которые нужно обслуживать

Добавление виртуальных хостов на nginx (очень доступно)
https://shneider-host.ru/blog/dobavlenie-virtualnyh-hostov-na-nginx.html
https://www.8host.com/blog/nastrojka-virtualnyx-xostov-nginx-v-centos-7/
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-on-centos-7
NGINX - создание виртуальных хостов
Один конфиг Nginx для работы с кучей разных сайтов
Динамические виртуальные хосты (dynamic vhost) в nginx
Настройка NGINX для поддержки одного и нескольких сайтов WordPress
Несколько сайтов на nginx, один IP-адрес


mkdir /etc/nginx/virt_host
nano /etc/nginx/virt_host/default_php.conf



netstat -tulpn | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste

nano /etc/php-fpm.d/www.conf
Найдите и измените эти строки:

user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

5) проверяем
ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
nginx -t
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl restart php-fpm nginx

https://nginxconfig.io/
https://www.nginx.com/resources/wiki/start/
https://docs.joomla.org/Nginx
https://www.nginx.com/resources/wiki/start/topics/recipes/yii/
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/
https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/
https://wordpress.org/support/article/create-a-network/
Настройка nginx для работы с сертификатами ГОСТ 2012 года


NGINX Unit
http://unit.nginx.org/
https://github.com/nginx/unit
http://hg.nginx.org/unit
https://hub.docker.com/r/nginx/unit/
https://github.com/miholeus/nginx-unit-python

Remi's RPM repository PHP with the NGINX unit application server

1. Official repository installation


2. Remi repository installation


3. Server and modules installation


4. Test configuration
4.1 Preparation
curl -O https://blog.remirepo.net/public/unit.config


4.2 Run the service:
# systemctl start unit

4.3 Configuration
Configuration is managed through a REST API:

# curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config

And to check running configuration:
# curl --unix-socket /var/run/unit/control.sock http://localhost/config

5 Usage
You can access the application on each new port:

http://localhost:8300/ for default PHP
http://localhost:8356/ for PHP version 5.6
http://localhost:8372/ for PHP version 7.2
etc


https://unit.nginx.org/configuration/
Nginx Unit Веб. Мысли вслух
Установка NGINX + PHP7 последних версий
Nginx Unit + Django + Virtualenv - Конфигурация
Установка WordPress с модулем NGINX
Installing WordPress with NGINX Unit - NGINX
HOW TO INSTALL NGINX UNIT ON LINUX
NGINX Unit – Application Server from Nginx
Nginx Unit + Bitrix настройка
Настройка NGINX Unit под PHP


Разные CMS

Настройка брадмаузера


Установка dokuwiki


https://computingforgeeks.com/install-dokuwiki-behind-nginx-and-letsencrypt-on-linux/
https://www.dokuwiki.org/install:centos

https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
export ARCHIVE="dokuwiki-stable"
tar xvf ${ARCHIVE}.tgz
sudo mkdir -p /var/www/html/
export RELEASE="2018-04-22a"
sudo mv dokuwiki-${RELEASE} /var/www/html/dokuwiki
sudo chown -R nginx:nginx /var/www/html/dokuwiki/
chmod -R 755 /var/www/html/dokuwiki/

nano /etc/nginx/virt_host/dokuwiki.conf



ln -s /etc/nginx/virt_host/dokuwiki.conf /etc/nginx/conf.d/
проверим
nginx -t
sudo systemctl restart php-fpm nginx

ошибки при установке и настройке dokuwiki
вся ценная информация находится в папке dokuwiki/data/pages бекапировать нужно её

за авторизацию отвечают
/dokuwiki/conf/
acl.auth.php
local.php
users.auth.php

если при доменной аудентификации пишет No ACL setup yet! Denying access to everyone.
то в файле local.php добавить вывод ошибок
$conf['plugin']['authad']['debug'] = 1;

скорее всего не установлен php-ldap
yum install php-ldap
systemctl restart php-fpm nginx

сброс авторизации можно сделать при помощи файла install.php


Возня с SELinux


Включение и Отключение SELinux

Системы защиты Linux, подробно о SELinux

sestatus
setenforce 0 # выключить selinux
setenforce 1 # включить selinux
nano /etc/selinux/config
SELINUX=permissive

Если не обнаружено сообщений о запретах в /var/log/messages, то
SELINUX=enforcing

возня с MySQL
Как cбросить пароль пользователя root в MySQL
https://andreyex.ru/operacionnaya-sistema-linux/nastrojka-linux/kak-cbrosit-parol-polzovatelya-root-v-mysql/

1.Войдите как root через SSH и остановитt сервер MySQL.

debian-ubuntu# /etc/init.d/mysql stop
centos-fedora# /etc/init.d/mysqld stop

2. Запустите сервер MySQL с опцией “skip-grant-tables”.

# mysqld_safe --skip-grant-tables &

Это отключит проверку подлинности MySQL и запустить процесс в фоновом режиме.

3. Войдите в MySQL как root.

# mysql -u root mysql

4. Сбросьте пароль MySQL.

UPDATE user SET Password=PASSWORD('NEW_YOUR_PASSWORD') WHERE User='root';
FLUSH PRIVILEGES;
exit;

Заменить "new_your_password" новым паролем!

5. После того, как пароль будет сброшен, запустите сервер MySQL в нормальном режиме.

debian-ubuntu# /etc/init.d/mysql restart
centos-fedora# /etc/init.d/mysqld restart

Теперь вы можете подключиться к MySQL как пользователь root, используя новый пароль.

Введите "mysql -u root -p" в терминале, и введите пароль при появлении соответствующего запроса.

Импорт и экспорт базы данных MySQL
Экспорт БД
Чтобы экспортировать базу данных, откройте терминал, убедитесь, что вы не вошли в MySQL

mysqldump -u [username] -p [database name] > [database name].sql

База данных, которая выбрана в команде теперь будет экспортированы.

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

CREATE DATABASE newdatabase;

Затем выйдите из оболочки MySQL и введите следующую команду в командной строке:
mysql -u [username] -p newdatabase < [database name].sql

При этом выбранная база данных будет импортирована в целевую базу данных в MySQL.

Перестал реплицироваться сервер MySQL


возня с nginx
ps auZ | grep nginx
grep nginx /var/log/audit/audit.log | audit2allow -M nginx
getsebool -a | grep -i http
semanage fcontext -l | grep nginx

chcon -R -t httpd_sys_content_t /web/ # временно разрешить запись в web

https://p0vidl0.info/nginx-i-selinux-pri-obnovlenii-do-rhel-6-6-centos-6-6.html
Добавление контекста httpd_t в список permissive:
# semanage permissive -a httpd_t

Удаление контекста httpd_t из списка permissive:
# semanage permissive -d httpd_t

semanage fcontext -a -t httpd_sys_content_t /www(/.*)?
semanage fcontext --add --type httpd_sys_content_t '/var/www/dokuwiki(/.*)?'

cat /etc/selinux/targeted/contexts/files/


самое простое решение
sudo yum install policycoreutils-python
sudo semanage permissive -a httpd_t

разные мелочи
Adminer аналог phpMyAdmin в одном файле
https://www.adminer.org/

https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io



Перенос из KVM в VMware


подошло:
qemu-img convert -f qcow2 centos7-docuwiki.qcow2 -O vmdk centos7-docuwiki.vmdk
qemu-img convert -f raw -O vmdk centos7-docuwiki.raw centos7-docuwiki.vmdk

испробованные варианты
qemu-img convert -f qcow2 myImage.qcow2 -O vmdk myNewImage.vmdk
esxcli system module load -m multiextent
vmkfstools -i myImage.vmdk outputName.vmdk -d thin

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 SC-1.qcow2 SC-1.vmdk
esxcli system module load -m multiextent
vmkfstools -i myImage.vmdk outputName.vmdk -d thin

не взлетело:
https://client.cloud4y.ru/index.php/knowledgebase/57/-KVM-Xen---VMware---QEMU.html
qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 centos7-docuwiki.qcow2 centos7-docuwiki.vmdk

esxcli system module load -m multiextent
vmkfstools -i centos7-wiki.vmdk centos7_wiki.vmdk -d thin


dokuwiki



https://www.dokuwiki.org/ru:dokuwiki
https://www.dokuwiki.org/ru:install
https://www.dokuwiki.org/install:fedora
https://www.dokuwiki.org/install:nginx

все страницы по умолчанию сохраняются в папке /var/www/html/dokuwiki/data/pages/ при обновлении или восстановлении, после установки нужно заменить эту папку, а также файлы аудентификации, находящиеся тут: /var/www/html/dokuwiki/conf/ acl.auth.php local.php и users.auth.php
а потом заново установить плагины

установка плагинов в dokuwiki
https://www.dokuwiki.org/plugin:addnewpage
https://www.dokuwiki.org/plugin:bookcreator
https://www.dokuwiki.org/plugin:dw2pdf
https://www.dokuwiki.org/plugin:odt
https://www.dokuwiki.org/tips:pdfexport


Install Composer on CentOS 7
# sudo yum -y update
# sudo yum install git zip unzip
# cd /tmp
# sudo curl -sS https://getcomposer.org/installer | php
или
# php -r "readfile('https://getcomposer.org/installer');" | php
# mv composer.phar /usr/local/bin/composer
$ php /usr/local/bin/composer --version

https://github.com/mpdf/mpdf/
composer require mpdf/mpdf

проверить php
php -i | grep php.ini
php -i | grep "Configuration File"

HTML в PDF
Генерируем PDF-файлы в веб-проекте: программа wkhtmltopdf


PS.
после установки dokuwiki удалить файл install.php
(или перенести, он пригодится если слетела авторизация)


Установка xrdp на CentOS 7
установка XRDP, VNC и SSH на Ubuntu и Debian.
разница между DE и WM, а также работа в голых иксах

бекап
lftp - Синхронизация папок по ftp
Как добавить задание в планировщик cron в Linux/UNIX

15 2 * * * /home/пользователь/backup.sh 2>&1 >/dev/null


изменение времени файлов, удаление истории посещения и команд в linux
сброс пароля
https://disnetern.ru/password-reset-root-centos-red-hat/
Если Вы забыли root пароль на линуксе CentOS Вам нужно провести данные манипуляции:

1) При загрузке останавливаем загрузчик на GRUB нажатием любой кнопки.
2) Выбираем нужную строчку и нажимаем e.
3) Выбираем строчку с kernel (kernel /vmlinuz /…версия ядра…/ root=LABEL=/)
4) Дописываем в конец строки single и нажимаем Enter
5) Нажимаем b для загрузки системы
6) После загрузки меняем пароль (passwd)
Данная методика работает почти на всех ОС линукс.

аварии, ошибки
Восстанавливаем свалившийся в busybox из-за ошибки initramfs Linux
Монтирование LVM томов (CentOS)
Перестал реплицироваться сервер MySQL

не видит сетевую карту
yum install pciutils
lspci -k -nn | grep -i 'ethernet'
lspci | grep Eth видит, а ip a - нет
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum install kmod-e100
reboot

ошибки работы с yum
yum update — multilib Как решить проблему Error: Protected multilib versions
Процесс обновления на aws (sudo yum update) завис из-за нехватки памяти, после этого попытки sudo yum update приводили к сообщению
Помогло:

yum upgrade --setopt=protected_multilib=false --skip-broken

https://www.centos.org/forums/viewtopic.php?t=67121
yum --enablerepo=extras install epel-release
yum install keychecker
keychecker

package-cleanup --dupes Отобразить список дублирующих пакетов
package-cleanup –cleandupes удаление дублирующих пакетов более старой версии

ошибки при обновлении
Пробуем другое зеркало.
http://centos-mirror.rbc.ru/pub/centos/7.5.1804/updates/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
error: Failed dependencies:
	epel-release = 7 is needed by remi-release-7.6-2.el7.remi.noarch

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh remi-release-7.rpm


yum clean all
Это очистит все тайники yum, включая кэшированные зеркала ваших репозиториев yum. На следующем запуске появится новый список зеркал.


дополнительно
Веб-сервер на основе Nginx и PHP-FPM
Оптимальная настройка Nginx
Виртуальные хосты в Apache и Nginx

Установка стека LEMP в Ubuntu 18.04
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
Настройка сервера Linux Nginx, PHP 7, MySQL (LEMP) с поддержкой сертификата Let’s Encrypt в Ubuntu Linux 18.04 Bionic
https://www.digitalocean.com/community/tutorials/nginx-ubuntu-18-04-ru

Настройте Perl-FastCGI на сервере CentOS 7 Nginx

Webmin



sudo rpm --import http://www.webmin.com/jcameron-key.asc
sudo yum install webmin
sudo chkconfig webmin on


Drupal
https://help.ubuntu.ru/wiki/drupal
Перед началом использования создайте для Drupal базу данных с помощью клиента mysql:
mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;"
Также желательно завести отдельного пользователя MySQL, который будет иметь доступ только к созданной базе:
mysql -u root -p
вводим там запросы:





MySQL: Полный список часто используемых и полезных команд
посмотреть всех пользователей
SELECT User, Host FROM mysql.user;
SELECT User, Host, Password, password_expired FROM mysql.user;
увидеть разрешения для пользователя
SHOW GRANTS FOR 'test'@'localhost'
отзыв всех разрешений
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'test'@'localhost'
удалить пользователя test
drop user 'test'@'localhost'
SHOW DATABASES;
удалить базу
DROP DATABASE имя_базы_даных;

«Could not load MODX config file»
/setup/index.php


chown -R www-data:www-data /var/www/

ошибки
Как установить Lighttpd на CentOS 7
systemctl status lighttpd

Loaded: loaded (/usr/lib/systemd/system/lighttpd.service; disabled; vendor preset: disabled)

откройте файл конфигурации /etc/lighttpd/lighttpd.conf и измените строку server.use-ipv6 с «enable» на disable.
systemctl restart lighttpd



Как установить WordPress на Ubuntu с LEMP (Linux, Nginx, MySQL, PHP)
https://websiteforstudents.com/install-typo3-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php/
https://docs.joomla.org/Nginx

Расшариваем веб-сайт на localhost в глобальную сеть интернет.
centos docker yii



установка dokuwiki centos php nginx часть 1

посмотреть часть 2

Настройка брадмаузера



https://www.certdepot.net/rhel7-get-started-firewalld/
https://www.8host.com/blog/nastrojka-brandmauera-firewalld-v-centos-7/
https://itproffi.ru/firewalld-ustanovka-i-nastrojka-zony-nat-probros-portov/
Настройка firewalld CentOS 7 с примерами команд
Использование ipset во встроенном брандмауэре CentOS 7

краткий рабочий пример
vpn pptp centos7
установка sams2 centos

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --list-all
firewall-cmd --get-zones
firewall-cmd --get-services

firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services

firewall-cmd --zone=external --list-ports
firewall-cmd --zone=external --list-services

firewall-cmd --zone=external --change-interface=enp3s0 --permanent
firewall-cmd --zone=external --remove-service=ssh --permanent
firewall-cmd --get-active-zones

firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent

firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-port=3128/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=external --list-services
firewall-cmd --list-all
systemctl restart firewalld
sudo systemctl enable firewalld

http://fliplinux.com/ip-cen.html
«белый список»
firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32


firewall-cmd --permanent --new-ipset=IP-users --type=hash:net
firewall-cmd --ipset=IP-servers --add-entry=192.168.0.0/24 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.12 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.200 --permanent

firewall-cmd --ipset=IP-servers --remove-entry=192.168.20.0/24 --permanent

firewall-cmd --ipset=IP-servers --get-entries
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset="IP-servers" service name="ssh" accept'

firewall-cmd --remove-rich-rule='rule source ipset=IP-users service name="http" drop' --permanent

firewall-cmd --permanent --zone=public --list-rich-rules

чтобы все пользователи (список ipset IP-users) ходили через squid несмотря на net.ipv4.ip_forward=1
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -m set --match-set IP-servers src -j ACCEPT

firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j DROP

открыть Google Play
firewall-cmd --zone=public --add-port=5228/tcp --permanent
firewall-cmd --zone=external --add-port=5228/tcp --permanent

firewall-cmd --reload
systemctl restart firewalld

iptables -S

углубиться в firewall-cmd
http://notes-unix.blogspot.com/2015/06/firewalld.html
Использование firewall-cmd:
... получение списка всех поддерживаемых зон:
# firewall-cmd --get-zones
... получение активных зон
# firewall-cmd --get-active-zones
... задание зоны по умолчанию
# firewall-cmd --set-default-zone=
... добавление интерфейса в зону
# firewall-cmd [--zone=] --add-interface=
... удаление интерфейса из зоны
# firewall-cmd [--zone=] --remove-interface=
... сделать запрос, относится ли интерфейс к зоне
# firewall-cmd [--zone=] --query-interface=
... включение "режима паники", блокирующего весь сетевой трафик
# firewall-cmd --enable-panic
... Отключение "режима паники"
# firewall-cmd --disable-panic

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

Эти опции доступны только после перезагрузки или перезапуска. Для того чтобы иметь опции, изменяемые в среде выполнения, и постоянные опции, необходимо обеспечить оба варианта.
Опция --permanent должна быть первой для всех постоянных вызовов
... Пример: включение службы http в зоне public на постоянно
# firewall-cmd --permanent --zone=public --add-service=http
... Пример: Включение порта 443/TCP для https в пределах зоны home на постоянно:
# firewall-cmd --permanent --zone=home --add-port=443/tcp

Включение/Отключение службы в пределах зоны:
... получение списка всех поддерживаемых служб
# firewall-cmd --get-services
... включение службы в пределах зоны
# firewall-cmd [--zone=] --add-service=
... отключение службы для зоны
# firewall-cmd [--zone=] --remove-service=
... сделать запрос, включена ли служба в пределах зоны
# firewall-cmd [--zone=] --query-service=
... включение службы в пределах зоны на постоянно
# firewall-cmd --permanent [--zone=] --add-service=
Включение/Отключения маскарадинга:
... включение маскарадинга в пределах зоны
# firewall-cmd [--zone=] --add-masquerade
... отключение маскарадинга для зоны
# firewall-cmd [--zone=] --remove-masquerade
Включение/Отключения блока ICMP:
... включение блока ICMP в пределах зоны:
# firewall-cmd [--zone=] --add-icmp-block=
... отключение блока ICMP для зоны:
# firewall-cmd [--zone=] --remove-icmp-block=
Включение/Отключение перенаправления или переназначения портов:
... включение перенаправления или переназначения портов в пределах зоны
# firewall-cmd [--zone=] --add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=
| :toport=[-]:toaddr=
}
... отключение перенаправления или переназначения портов для зоны
# firewall-cmd [--zone=] --remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=
| :toport=[-]:toaddr=
}

... Пример: Перенаправление ssh на узел 127.0.0.2 в пределах зоны home:
# firewall-cmd --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
Запуск/Останов/Перезапуск службы firewalld:
# systemctl stop/start/restart firewalld.service
Если хотите использовать собственные правила статического брандмауэра совместно со службами iptables и ip6tables, установите iptables-services, отключите FirewallD, а также включите iptables и ip6tables:
# yum install iptables-services
# systemctl mask firewalld.service
# systemctl enable iptables.service
# systemctl enable ip6tables.service
Для задействования своих правил статического межсетевого экрана используйте /etc/sysconfig/iptables и /etc/sysconfig/ip6tables.

проверить какие порты открыты:
netstat -nlp
netstat -anp | grep 8080
nmap -sT -O localhost
lsof -i | grep 8080

iptables -L -v -n
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

сохранить:
/usr/libexec/iptables/iptables.init save

Стандартные зоны FirewallD:

Drop - неизменяемая зона
Все входящие сетевые пакеты сбрасываются, ответ на них недопустим. Возможны только исходящие сетевые соединения.
Block - неизменяемая зона
Все входящие сетевые соединения отклоняются с сообщениями icmp-host-prohibited (для IPv4) и
icmp6-adm-prohibited (для IPv6). Возможны только инициированные в рамках данной системы сетевые соединения.
Trusted - неизменяемая зона
Разрешены все сетевые соединения.
Public
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети считаются ненадёжными.
Предназначено для использования в общественных местах.
External
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети считаются ненадёжными. Предназначено для использования во "внешних" сетях с активированным режимом маскарадинга, особенно с применением роутеров.
DMZ
Разрешены лишь отдельные входящие соединения.Предназначено для компьютеров в личной "безоружной" зоне с ограниченным общественным доступом к внутренней сети.
Work
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети, по большей части, считаются надёжными.
Предназначено для использования в рабочем пространстве.
Home
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети, по большей части, считаются надёжными. Предназначено для использования в домашних сетях.
Internal
Предназначено для использования во "внутренних" сетях. Остальные компьютеры сети, по большей части, считаются надёжными. Разрешены лишь отдельные входящие соединения.


http://linux-notes.org/udalit-iptables-pravilo/

iptables -L your_chain_name -n -v
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -D INPUT номер_строки

очистить все правила iptables
iptables -F
iptables -X


# iptables -L INPUT --line-numbers
# iptables -L INPUT -n --line-numbers | less
# iptables -L INPUT -n --line-numbers | grep 172.16.0.101

посмотреть правила
iptables -S

проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80


ознакомиться

docker search centos
docker pull centos
docker run -it centos bash
docker commit №_контейнера название_образа # сделать нужный образ
docker rm $(docker ps -a -q -f status=exited) # удалить лишние контейнеры (все)

docker команды

https://www.yiiframework.com/doc/guide/2.0/en/tutorial-docker
docker-compose -v
docker -v
docker-compose up -d
docker-compose ps
docker-compose logs -f
docker-compose stop
docker-compose kill
docker-compose down -v
docker-compose run --rm php composer install
docker-compose exec php bash

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Определение многоконтейнерного приложения с помощью docker-compose.yml

Программирование с YII2: приступаем к работе

https://github.com/yiisoft/yii2/tree/master/docs/guide-ru
https://webformyself.com/yii2-advanced-ustanovka/
https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/doc/guide/2.0/ru/tutorial-start-from-scratch


http://onreader.mdl.ru/LearningDockerNetworking/content/Ch02.html
Docker: как развернуть фуллстек-приложение и не поседеть

установка php

установка compozer
yum install install curl php-cli php-mbstring git zip unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
или
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
или
mv composer.phar /usr/local/bin/composer

composer show --platform | grep ext-xsl
sudo yum install php-xsl

подключение к БД
https://yiiframework.com.ua/ru/doc/guide/2/db-dao/

  • MySQL, MariaDB: mysql:host=localhost;dbname=mydatabase

  • SQLite: sqlite:/path/to/database/file

  • PostgreSQL: pgsql:host=localhost;port=5432;dbname=mydatabase

  • CUBRID: cubrid:dbname=demodb;host=localhost;port=33000

  • MS SQL Server (via sqlsrv driver): sqlsrv:Server=localhost;Database=mydatabase

  • MS SQL Server (via dblib driver): dblib:host=localhost;dbname=mydatabase

  • MS SQL Server (via mssql driver): mssql:host=localhost;dbname=mydatabase

  • Oracle: oci:dbname=//localhost:1521/mydatabase



ошибки при установке yii2-app-advanced
Exception 'yii\db\Exception' with message 'could not find driver'
sudo yum install php-gd php-mysql

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory'
nano $HOME/yii-application/common/config/main-local.php
'dsn' => 'mysql:host=127.0.0.1:3306;dbname=yii2advanced

sudo mysql_secure_installation
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost''

http://qaru.site/questions/161543/error-1698-28000-access-denied-for-user-rootlocalhost
https://www.digitalocean.com/community/tutorials/mysql-ubuntu-18-04-ru

$ sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;

$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

надо создать нового пользователя с полными правами.
$ sudo mysql -uroot

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

$ mysql -unewuser -ppassword
Для работы с базой использовать нового пользователя newuser вместо root.

nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=yii2advanced',
'username' => 'newuser',
'password' => 'password',

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1049] Unknown database 'yii2advanced''
mysql> CREATE DATABASE yii2advanced;
mysql> EXIT;

php yii serve --port=8888
Document root "/home/user/yii-application/console/web" does not exist.

В консоли надо указать путь к document root проекта.
php yii serve --docroot="path/to/docroot"
Например:
php yii serve --docroot="@frontend/web" --port=8080
php yii serve --docroot="@backend/web" --port=8888
php yii serve --docroot="@console" --port=8000
или
php -S 127.0.0.1:8080 -t frontend/web
php -S 127.0.0.1:8888 -t backend/web

http://127.0.0.1:8080/index.php?r=gii

Сервис на Yii2: Тестирование приложения с Codeception
проверка (запуск в каталоге)
vendor/bin/codecept run acceptance -- -c frontend
vendor/bin/codecept run acceptance -- -c backend

Codeception requires CURL extension installed to make tests run
If you are not sure, how to install CURL, please refer to StackOverflow
yum install php-curl



https://www.tutorialspoint.com/sqlite/sqlite_create_database.htm
http://www.w3big.com/ru/sqlite/sqlite-syntax.html
Стартуем с SQLite3 – Основные команды
nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'sqlite:/home/user1/yii-application/DB/yii2advanced.db',

$ mkdir -p $HOME/yii-application/DB/
$ sqlite3 $HOME/yii-application/DB/yii2advanced.db
.quit

Команда Описание
.show Показывает текущие настройки заданных параметров
.databases Показывает название баз данных и файлов
.quit Выход из sqlite3
.tables Показывает текущие таблицы
.schema Отражает структуру таблицы
.header Отобразить или скрыть шапку таблицы
.mode Выбор режима отображения данных таблицы
.dump Сделать копию базы данных в текстовом формате




composer --version
composer self-update
composer global require "fxp/composer-asset-plugin:~1.4.5"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
или
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
или
php composer.phar create-project yiisoft/yii2-app-advanced advanced

Установка из архивного файла
https://www.yiiframework.com/download

// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'enter your secret key here',

обновление
php composer.phar update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask

Проверка установки, запуск yii2
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_адрес:8080 (правильно)

проверка проброса портов
php -S 0.0.0.0:8080

Чтобы открыть несколько портов, просто укажите несколько аргументов -p:
docker run -p host_port1:container_port1 -p host_port2:container_port2
docker run -it -p 7100-7120:7100-7120/tcp

проверка блокировки по портам
php -S 0.0.0.0:8080 (или внутренний ip контейнера напр 172.17.0.2:0.0.0.0)
localhost:0.0.0.0 работать не будет, как и 127.0.0.1:8080

напр docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii
php -S 127.0.0.2:8080 сработает


docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii


php yii serve (по умолч localhost порт 80)
php yii serve --port=8080 (поднимется по умолчанию на localhoct, т.е. при --net=host )
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_adres_контейнера:8080 (правильно)

узнать ip адрес (если нет ip a)
yum install net-tools
ifconfig

docker run --name centos -it centos bash
docker run -d -p 80:8080 uzverss/centos_yii
если что то блокирует проброс то
docker run --net=host -it centos1_yii2 bash

примеры

пример: подключить каталог с yii2 с хоста в контейнер
docker run -v /home/user/basic:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
пример: подключить каталог с yii2 с контейнера на хост (каталога basic1 на хосте нет, создаётся с правами root)
docker run -v /home/user/basic1:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
chown user:user /home/user/basic

монтировать каталоги хоста внутрь контейнера
docker run -v /каталог_на_компе:/каталог_в контейнере -v /каталог_на_компе:/каталог_в контейнере образ_докера

создание пользователей
adduser username
passwd username
gpasswd -a username wheel
userdel username
userdel -r username удалит пользователя с каталогом
sudo lid -g wheel


пример настроенного контейнера:
docker pull schmunk42/yii2-app-basic
docker run -p 8888:80 schmunk42/yii2-app-basic

https://github.com/yiisoft/yii2-app-basic
docker pull yiisoftware/yii2-php:7.3-fpm

docker run --name php-yii2 --rm -it dmstr/php-yii2 -p 8080:8080 yii

https://hub.docker.com/r/yiisoftware/yii2-php/
https://github.com/dmstr/docker-yii2-app

Как сделать админку для yii2 basic?
https://www.yiiframework.com/search?type=extension&q=admin
https://github.com/yii2tech/admin
https://www.yiiframework.com/extension/yii2-template-smarty
https://www.yiiframework.com/extension/qtzpanel
https://www.yiiframework.com/extension/yii2-admin
https://elisdn.ru/blog/76/seo-service-on-yii2-admin-and-sef
https://github.com/ElisDN/seokeys

https://www.yiiframework.com/extension/phpnt/yii2-cms
https://www.yiiframework.com/extension/execut/yii2-cms

https://github.com/yii2tech
https://github.com/codemix
https://github.com/creocoder

https://www.adminer.org/
https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io

https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/wiki/783/running-applications-with-docker

https://phptoday.ru/post/gotovim-lokalnuyu-sredu-docker-dlya-razrabotki-na-php
https://blog.rvalitov.ru/programming/yii2/yii2-base-docker/
http://noob.poex.me/2018/06/22/docker-network/

Полное руководство по Yii 2.0
https://nix-tips.ru/yii2-api-guides/guide-ru-README.html
https://github.com/yiisoft/yii2/tree/master/docs/guide-ru

установка dokuwiki centos php nginx
Расшариваем веб-сайт на localhost в глобальную сеть интернет.

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 5th, 2025 03:58 am
Powered by Dreamwidth Studios