Web server в Linux Ubuntu 18.04

В видео Ubuntu 14.04

apt-get install apache2 — установить апач
apt-get install zip — установить zip
apt-get install libapache2-mod-auth-mysql php5.6-mysql mysql-server — установить mysql в Ubuntu до 15.10, дальше установить перезапись ссылок
add-apt-repository ppa:ondrej/php — репозиторий php 5.6, которого нет с 16 Linux’а
apt-get install php5.6 libapache2-mod-php5.6 php5.6-cli — установить php 5.6
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb — скачать mysql репозиторий в текущий каталог
dpkg -i mysql-apt-config_0.8.13-1_all.deb — добавить репозиторий mysql
Web server в Linux Ubuntu 18.04 Web server в Linux Ubuntu 18.04
apt-get update — обновить список репозиториев
apt-get install php5.6-mysql mysql-server — Установить mysql сервер в Linux 15.10+
Web server в Linux Ubuntu 18.04 — Лучше задать пароль минимум 8 символов.
a2enmod rewrite — перезапись ссылок web-servera в понятный читабельный вид
apt-get install phpmyadmin — установить phpmyadmin
Web server в Linux Ubuntu 18.04
ln -s /usr/share/phpmyadmin /var/www/html — символьная ссылка для работы phpmyadmin
reboot — перезагрузить
вход по адресу http://192.168.2.6/phpmyadmin

Ошибки, проблемы
1. «The mbstring extension is missing. Please check your PHP configuration.» — установить: apt install -y php5.6-mbstring php-gettext
2. «(HY000/1045): Access denied for user ‘phpmyadmin'» — переустановить phpmyadmin:
dpkg-reconfigure -plow phpmyadmin
проверить пароль на root; проверить настройки mysql: mysql_secure_installation

FTP server в Linux Ubuntu

apt-get install ssh — Удалённый доступ ssh через putty
apt-get install vsftpd — установить ftp сервер

nano /etc/vsftpd.conf — редактировать файл конфигурации (поправить коменты):

service vsftpd status — сведения о vsftpd
systemctl start vsftpd — запустить vsftpd
systemctl enable vsftpd — автозапуск vsftpd
service vsftpd restart — перезапуск FTP vsftpd.
ufw allow 20/tcp — открыть порт FTP данных в фаерволе
ufw allow 21/tcp — открыть порт FTP команд в фаерволе
adduser user — добавить user’а с параметрами из /etc/adduser.conf и папками из /etc/skel
mkdir /home/user/ftp — создать папку в папке пользователя
chown user /home/user/ftp — дать полный доступ к папке user’у

Виртуальные пользователи
Чтобы отключить локальных и включить виртуальных, закоментить всё в /etc/pam.d/vsftpd и добавить:

apt-get install vsftpd libpam-pwdfile apache2-utils — установить libpam-pwdfile и apache2-utils, если не установлены с апачем.
htpasswd -c -d /etc/vsftpwd user — создать виртуального пользователя. -c создаёт файл паролей, с перезаписью, -d — алгоритм шифрования хэша пароля. Следующие без -c
htpasswd -D /etc/vsftpwd user — удалить юзера
service vsftpd restart — перезапустить службу vsftpd.
htpasswd -bd /etc/vsftpwd user 1 && mkdir /home/vsftpd/user && chown ftp /home/vsftpd/user — создать user’а с паролем 1, папку и назначить права на папку локальному ftp пользователю.

Основные команды Linux Ubuntu

lsb_release -a — версия системы.
sudo reboot — Перезагрузить.
sudo poweroff — Выключить.
sudo su — root.
cd /etc/netplan/ — переход в папку /etc/netplan/
pwd — отобразить текущий каталог
LS — отобразить содержимое каталога.
nano /etc/file — открыть файл в редакторе (ctrl+K удалить строку)
apt-get update && apt-get upgrade — Обновление репозиториев.
при ошибке обновления в интерфесе, зайти в меню/администрирование/источники приложений. пробовать обновиться после каждой кнопки.
apt-get install zip — установить zip.
apt purge zip — удалить zip.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb — скачать файл
dpkg -i mysql-apt-config_0.8.13-1_all.deb — установить репозиторий из файла (-r — удалить)
dpkg —get-selections | grep -v deinstall — список установленных репозиториев
apt-get autoremove — удалить, что не используется
systemctl start vsftpd — запустить vsftpd (stop — отключить)
systemctl enable vsftpd — автозапуск vsftpd
systemctl list-units —type service — статус служб ( -all, —state running, —state falied)
ifconfig eth0 down — отключить интерфейс
apt-get install ssh — Удалённый доступ ssh через putty
cat /etc/vsftpd.conf | grep write — отобразить записи в файле со словом write
passwd user — сменить пароль user’у (просто passwd — сменить свой пароль)
passwd user -L/-u — Заблокировать/разблокировать пользователя
adduser user — добавить пользователя user
userdel user — удалить пользователя user
cat /etc/passwd — список пользователй
mkdir /home/user/ftp — создать папку в папке пользователя
chown user /home/user/ftp — дать полный доступ к папке
> file — создать файл
cp /etc/file /etc/folder/file — копировать файл (с -r папку)
rm /home/user/file* -i -Удалить файлы начинающиеся на file с подтверждением
rm -rf /home/user/ — удалить папку /home/user/
chmod ugo+rwx file — доступ к файлу всем на запись и т.д
проверка сети:
sudo ethtool eth0,3 — сведения, есть ли link
mtr yandex.ru — трассеровка
netstat -nr — маршруты


apt-get install zip — установить zip.
apt purge zip — удалить zip.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb — скачать файл
dpkg -i mysql-apt-config_0.8.13-1_all.deb — установить репозиторий из файла (-r — удалить)
dpkg —get-selections | grep -v deinstall — список установленных репозиториев
apt-get autoremove — удалить, что не используется
systemctl start vsftpd — запустить vsftpd (stop — отключить)
systemctl enable vsftpd — автозапуск vsftpd
systemctl list-units —type service — статус служб ( -all, —state running, —state falied)
ifconfig eth0 down — отключить интерфейс
apt-get install ssh — Удалённый доступ ssh через putty
cat /etc/vsftpd.conf | grep write — отобразить записи в файле со словом write
passwd user — сменить пароль user’у (просто passwd — сменить свой пароль)
passwd user -L/-u — Заблокировать/разблокировать пользователя
adduser user — добавить пользователя user
userdel user — удалить пользователя user
cat /etc/passwd — список пользователй
mkdir /home/user/ftp — создать папку в папке пользователя
chown user /home/user/ftp — дать полный доступ к папке
> file — создать файл
cp /etc/file /etc/folder/file — копировать файл (с -r папку)
rm /home/user/file* -i -Удалить файлы начинающиеся на file с подтверждением
rm -rf /home/user/ — удалить папку /home/user/
chmod ugo+rwx file — доступ к файлу всем на запись и т.д
проверка сети:
sudo ethtool eth0,3 — сведения, есть ли link
mtr yandex.ru — трассеровка
netstat -nr — маршруты


rm /home/user/file* -i -Удалить файлы начинающиеся на file с подтверждением
rm -rf /home/user/ — удалить папку /home/user/
chmod ugo+rwx file — доступ к файлу всем на запись и т.д
проверка сети:
sudo ethtool eth0,3 — сведения, есть ли link
mtr yandex.ru — трассеровка
netstat -nr — маршруты

Настройка сети в Linux Ubuntu

ifconfig -a — посмотреть интерфейсы (в примере eth0)
До версии 18:
sudo nano /etc/network/interfaces — вписать в файл
(сохранить — ctrl+o)

sudo service networking restart — перезапуск сети

После версии 18:
sudo su — root
netplan generate — создать файл настроек
nano /etc/netplan/01-netcfg.yaml
(имя файла может быть другим, отступы пробелами обязательны, внести настройки):

Если нужно прокси — вписать в файле
nano /etc/environment:

http_proxy=http://192.168.1.101
https_proxy=http://192.168.1.101

Для apt-get вписать в
nano /etc/apt/apt.conf:

Acquire::http::proxy "http://логин:пароль@ip_прокси:порт_прокси/";
Acquire::https::proxy "https://логин:пароль@ip_прокси:порт_прокси/"
;

netplan apply — применить конфигурацию
service networking restart — перезапуск сети

Проверка сети:
sudo ethtool eth0 — сведения, есть ли link
mtr yandex.ru — трассеровка

Настройка DHCP и DNS в Linux Ubuntu с помощью dnsmasq:
apt-get install dnsmasq — установка
nano /etc/dnsmasq.conf
Вписать:

service dnsmasq restart — перезапуск службы
Если фейлит при запуске (unknown interface) в файле nano /etc/init.d/dnsmasq
сделать значение Required-Start: $all — загружаться после всего

Настройка NAT и Masquarade

Возможно, нужно отключить firewalld
Включение IP-forwarding (для перемещения трафика между интерфейсами)
cat /proc/sys/net/ipv4/ip_forward — включён ли ip forwarding (0 — выключен)
nano /etc/sysctL.conf — задать net.ipv4.ip_forward=1
Создать bash файл c настройками nat и masquerade в init скриптах для iptables:
nano /etc/init.d/firewall

#!/bin/bash
### BEGIN INIT INFO
# Provides: firewall
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: adds iptables rules
### END INIT INFO
#Выше указано системе, что запускается, запускать после всего, на каких уровнях

До Ubuntu 15:
chmod +x /etc/init.d/firewall — сделать файл исполняемым
update-rc.d firewall defaults — запускать по умолчанию (remove — удалить)

После Ubuntu 15, запускать как службу, и чтобы запускать файл после сети:
nano /etc/systemd/system/firewall.service — создать systemd unit файл

systemctl  enable firewall — запускать автоматически
Если не работает при включении, или выдаёт Default-Start contains no runlevels (Default-Start не содержит уровней запуска, прерывания), нужно добавить BEGIN INIT INFO (как выше).

Создание флешки с Линукс

  1. Скачать Linux Live USB Creator.
  2. Использовать предложенные образы, или добавить свой.
  3. Запустить программу. Флешка готова.Ош