genbodev
7/26/2017 - 12:41 PM

LAMP install Centos 7

LAMP install Centos 7

Проверка установленных пакетов `rpm -qa` `rpm -qa > rpm.list` `rpm -qa --qf "%{NAME}\n"`

###@Пользователи
Создаст пользователя `sudo adduser username`
Создаст ему пароль `passwd username`
Получит привелегии sudo `sudo gpasswd -a username wheel`
Покажет пользователей с sudo `sudo lid -g wheel`
Удаляет пользователя `userdel username`
Вместе с домашним каталогом `userdel -r username`

> Сменить пароль : https://losst.ru/kak-smenit-parol-v-linux
> `openssl passwd -1 -salt xyz pass` // генерируем зашифрованный пароль pass
> Редактируем файл `sudo vi /etc/shadow`
> Видим список: user:password:... В поле password прописываем полученный выше шифрованный пароль
> `su user` - пробуем войти
Полезные команды:
`vi /etc/passwd` - список всех пользователей
`sed 's/:.*//' /etc/passwd` - кратко
`w` - активные пользователи
`last -a` - история входа
`lastlog` - дата последнего входа

##Установка MariaDB
####Добавление в репозиторий
Добавляем  `sudo vim /etc/yum.repos.d/MariaDB.repo`
```
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
```
> **Заметка:**
> - [Вот тут инструкция](https://mariadb.com/kb/en/mariadb/yum/)
> - [Генератор](https://downloads.mariadb.org/mariadb/repositories/#mirror=timeweb&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.2)

**Справка по vim:**
Переключить режим командный/редактирование `esc`
Сохранить файл `:w`
Выйти `:q`
Добавь восклицательный знак, чтобы сделать принудительно: `:q!`
Если файл в режиме чтения: `set noro`

Установка `sudo yum install MariaDB-server MariaDB-client` (приблизительно 700 Мб)
Запуск сервиса `sudo /etc/init.d/mysql start`
Защита БД `sudo mysql_secure_installation`

```
Enter current password for root (enter for none): press Enter
Set root password? Y
New password: xxxpassxxx
Re-enter new password: xxxpassxxx
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
```
Проверка установки: `yum list installed |grep maria`

Заменить cnf.ini файл по умолчанию в /etc/ для MariaDB `cd /usr/share/mysql`
Сделаем резервное копирование cnf.ini файла (если он есть): `sudo mv /etc/cnf.ini /etc/cnf.ini.bak`
Копируем предварительную конфигурацию: `sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini`
Перезапуск MaraiDB: `systemctl restart mariadb`
Проверяем статус: `systemctl status mariadb`
Можно добавить MariaBD в автозагрузку ОС: `systemctl enable mariadb`

>**Справка по systemctl**
`systemctl start name.service` – запуск сервиса.
`systemctl stop name.service` — остановка сервиса
`systemctl restart name.service` — перезапуск сервиса
`systemctl try-restart name.service` — перезапуск сервиса только, если он запущен
`systemctl reload name.service` — перезагрузка конфигурации сервиса
`systemctl status name.service` — проверка, запущен ли сервис с детальным выводом состояния сервиса
`systemctl is-active name.service` — проверка, запущен ли сервис с простым ответом: active или inactive
`systemctl list-units --type service --all` – отображение статуса всех сервисов
`systemctl enable name.service` – активирует сервис (позволяет стартовать во время запуска системы)
`systemctl disable name.service` – деактивирует сервис
`systemctl reenable name.service` – деактивирует сервис и сразу активирует его
`systemctl is–enabled name.service` – проверяет, активирован ли сервис
`systemctl list-unit-files --type service` – отображает все сервисы и проверяет, какие из них активированы

Создаем пользователя: `sudo mysql -uroot -p`
Дадим все права (чтение, редактирование, добавление, выполнение) ALL PRIVILEGES и возможность давать и удалять права другим пользователям GRAND OPTIONS: `GRANT ALL PRIVILEGES ON *.* TO 'genbo'@'%' IDENTIFIED BY 'xxxpassxxx' WITH GRANT OPTION;`

Выход из программы `exit`
Проверим какой порт прослушивает MariaDB с помощью команды SS: `ss -tnlp | grep 3306`

*Установка MariaDB  завершена*

##Установка nginx
Создаем repo `sudo vim /etc/yum.repos.d/nginx.repo`
Со следующим содержимым:
```
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
```
Взято [отсюда](https://nginx.ru/ru/linux_packages.html)
Выполняем установку `sudo yum install nginx`
Запуск: `sudo systemctl start nginx.service`
Получим адрес сервера (обычно совпадает с SSH): `ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'`
Перейдем в браузере по этому адресу и увидим:
```
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
```
>Альтернативный способ получения адреса заключается в использовании внешнего абонента. Для этого выполните: `curl http://icanhazip.com`

Добавьте ngnix в автозагрузку: `sudo systemctl enable nginx.service`

*Установка ngnix  завершена*