Страница 2 из 2
Re: PHP и WEB-хостинг
Добавлено: 24 дек 2019, 23:50
Olej
Olej писал(а): ↑24 дек 2019, 23:47
Здесь подробнейшим образом расписано как настроить ufw
для самых разнообразных портов.
Но нам не нужно, сейчас, для самых разнообразных портов, а нужно для конкретных целей: установить и настроить форум под Apache.
Код: Выделить всё
olej@ACER:~$ aptitude search ufw
p gufw - графический интерфейс пользователя для ufw
p python-ufw - Uncomplicated FireWall Python modules
p ufw - program for managing a Netfilter firewall
olej@ACER:~$ sudo apt install ufw
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
ufw
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 84 пакетов не обновлено.
Необходимо скачать 164 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 852 kB.
Пол:1 http://deb.debian.org/debian buster/main amd64 ufw all 0.36-1 [164 kB]
Получено 164 kB за 1с (253 kB/s)
Предварительная настройка пакетов …
Выбор ранее не выбранного пакета ufw.
(Чтение базы данных … на данный момент установлено 423097 файлов и каталогов.)
Подготовка к распаковке …/archives/ufw_0.36-1_all.deb …
Распаковывается ufw (0.36-1) …
Настраивается пакет ufw (0.36-1) …
Creating config file /etc/ufw/before.rules with new version
Creating config file /etc/ufw/before6.rules with new version
Creating config file /etc/ufw/after.rules with new version
Creating config file /etc/ufw/after6.rules with new version
Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service.
Обрабатываются триггеры для man-db (2.8.5-2) …
Обрабатываются триггеры для rsyslog (8.1901.0-1) …
Обрабатываются триггеры для systemd (241-7~deb10u2) …
Код: Выделить всё
olej@ACER:~$ /sbin/ufw --help
Usage: ufw COMMAND
Commands:
enable enables the firewall
disable disables the firewall
default ARG set default policy
logging LEVEL set logging to LEVEL
allow ARGS add allow rule
deny ARGS add deny rule
reject ARGS add reject rule
limit ARGS add limit rule
delete RULE|NUM delete RULE
insert NUM RULE insert RULE at NUM
route RULE add route RULE
route delete RULE|NUM delete route RULE
route insert NUM RULE insert route RULE at NUM
reload reload firewall
reset reset firewall
status show firewall status
status numbered show firewall status as numbered list of RULES
status verbose show verbose firewall status
show ARG show firewall report
version display version information
Application profile commands:
app list list application profiles
app info PROFILE show information on PROFILE
app update PROFILE update PROFILE
app default ARG set default application policy
olej@ACER:~$ /sbin/ufw app list
ERROR: You need to be root to run this script
olej@ACER:~$
olej@ACER:~$ sudo /sbin/ufw app list
Available applications:
AIM
Bonjour
CIFS
CUPS
DNS
Deluge
IMAP
IMAPS
IPP
KTorrent
Kerberos Admin
Kerberos Full
Kerberos KDC
Kerberos Password
LDAP
LDAPS
LPD
MSN
MSN SSL
Mail submission
NFS
OpenSSH
POP3
POP3S
PeopleNearby
SMTP
SSH
Socks
Telnet
Transmission
Transparent Proxy
VNC
WWW
WWW Cache
WWW Full
WWW Secure
XMPP
Yahoo
qBittorrent
svnserve
Re: PHP и WEB-хостинг
Добавлено: 24 дек 2019, 23:53
Olej
Olej писал(а): ↑24 дек 2019, 23:50
настроить форум под Apache.
Код: Выделить всё
olej@ACER:~$ sudo ufw allow in "WWW FULL"
Rules updated
Rules updated (v6)
olej@ACER:~$ sudo ufw status
Status: inactive
olej@ACER:~$ sudo ufw enable
Firewall is active and enabled on system startup
olej@ACER:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
WWW Full ALLOW Anywhere
WWW Full (v6) ALLOW Anywhere (v6)
olej@ACER:~$ sudo ufw allow in "OpenSSH"
Rule added
Rule added (v6)
olej@ACER:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
WWW Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
WWW Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Очень важно здесь операции enable + disable, которых нет в --help, и которые
активирует или выключает файервол.
Re: PHP и WEB-хостинг
Добавлено: 24 дек 2019, 23:55
Olej
Olej писал(а): ↑24 дек 2019, 23:50
настроить форум под Apache.
В конечном счёте на
боевом сервере этого вот форума мы имеем:
Код: Выделить всё
root@277938:/var/log/apt# sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
8044 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)
8044 (v6) ALLOW Anywhere (v6)
Re: PHP и WEB-хостинг
Добавлено: 25 дек 2019, 02:06
Olej
Olej писал(а): ↑24 дек 2019, 18:26
Как оказалось, потребовалось доустановить (почему и как не объясняю - это описано в теме смены хостинга форума):
То, что забыл зафиксировать раньше: после доустановки модулей PHP, изменений в конфигурационных файлах, (да и периодически время от времени) нужно перезапускать Apache:
Код: Выделить всё
root@277938:/var/www/linux-ru.ru# systemctl restart apache2
И перепроверять как это произошло:
Код: Выделить всё
root@277938:/var/www/linux-ru.ru# systemctl status apache2
* apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-12-25 01:53:48 MSK; 26s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 30906 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 30910 (apache2)
Tasks: 7 (limit: 544)
Memory: 86.8M
CGroup: /system.slice/apache2.service
|-30910 /usr/sbin/apache2 -k start
|-30911 /usr/sbin/apache2 -k start
|-30912 /usr/sbin/apache2 -k start
|-30913 /usr/sbin/apache2 -k start
|-30914 /usr/sbin/apache2 -k start
|-30915 /usr/sbin/apache2 -k start
`-30916 /usr/sbin/apache2 -k start
Dec 25 01:53:48 277938.local systemd[1]: Starting The Apache HTTP Server...
Dec 25 01:53:48 277938.local apachectl[30906]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 277938.local. Set the 'ServerName' directive globally to suppress this message
Dec 25 01:53:48 277938.local systemd[1]: Started The Apache HTTP Server.
Если там возникают серьёзные ошибки (да и вообще ошибки по ходу работы форума), то смотрим их детализацию здесь (error.log или error.log.1):
Код: Выделить всё
root@277938:~# tail /var/log/apache2/error.log
[Mon Dec 23 22:04:49.638248 2019] [php7:error] [pid 13206] [client 193.28.177.118:37266] PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found in /var/www/linux-ru.ru/phpbb/textformatter/s9e/utils.php:105\nStack trace:\n#0 /var/www/linux-ru.ru/phpbb/notification/type/quote.php(78): phpbb\\textformatter\\s9e\\utils->get_outermost_quote_authors('<r><QUOTE autho...')\n#1 /var/www/linux-ru.ru/phpbb/notification/manager.php(273): phpbb\\notification\\type\\quote->find_users_for_notification(Array, Array)\n#2 /var/www/linux-ru.ru/phpbb/notification/manager.php(266): phpbb\\notification\\manager->add_notifications('notification.ty...', Array, Array)\n#3 /var/www/linux-ru.ru/includes/functions_posting.php(2356): phpbb\\notification\\manager->add_notifications(Array, Array)\n#4 /var/www/linux-ru.ru/posting.php(1479): submit_post('quote', 'Re: \\xD0\\xB8\\xD0\\xB7\\xD0\\xBC\\xD0\\xB5\\xD0\\xBD\\xD0...', 'Olej', 0, Array, Array, true, true)\n#5 {main}\n thrown in /var/www/linux-ru.ru/phpbb/textformatter/s9e/utils.php on line 105, referer: http://linux-ru.ru/posting.php?mode=quote&f=8&p=23089
Код: Выделить всё
root@277938:~# tail -n1 /var/log/apache2/error.log
[Mon Dec 23 22:10:11.656164 2019] [php7:error] [pid 13228] [client 54.36.149.62:41848] PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found in /var/www/linux-ru.ru/vendor/s9e/text-formatter/src/Renderer.php:19\nStack trace:\n#0 /var/www/linux-ru.ru/vendor/s9e/text-formatter/src/Renderers/PHP.php(127): s9e\\TextFormatter\\Renderer->loadXML('<r><URL url="ht...')\n#1 /var/www/linux-ru.ru/vendor/s9e/text-formatter/src/Renderer.php(31): s9e\\TextFormatter\\Renderers\\PHP->renderRichText('<r><URL url="ht...')\n#2 /var/www/linux-ru.ru/phpbb/textformatter/s9e/renderer.php(250): s9e\\TextFormatter\\Renderer->render('<r><URL url="ht...')\n#3 /var/www/linux-ru.ru/includes/functions_content.php(600): phpbb\\textformatter\\s9e\\renderer->render('<r><URL url="ht...')\n#4 /var/www/linux-ru.ru/viewtopic.php(1764): generate_text_for_display('<r><URL url="ht...', '1wczxbhf', 'mA==', 3, true)\n#5 {main}\n thrown in /var/www/linux-ru.ru/vendor/s9e/text-formatter/src/Renderer.php on line 19
Re: PHP и WEB-хостинг
Добавлено: 25 дек 2019, 02:16
Olej
Как найти и посмотреть используемую БД форума?
1. Смотрим как заливалась из бэкапов БД (или создавалась новая), например:
Код: Выделить всё
root@277938:/var/www/linux-ru.ru# pwd
/var/www/linux-ru.ru
root@277938:/var/www/linux-ru.ru# cat config.php
<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysqli';
$dbhost = 'localhost';
$dbport = '';
$dbname = 'forum';
$dbuser = 'root';
$dbpasswd = 'xxxxxxxx';
$table_prefix = 'rlf1_';
$acm_type = 'file';
$load_extensions = '';
@define('PHPBB_INSTALLED', true);
@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
?>
2. Смотрим, например, структуру таблиц БД, для этого заходим в mysql от того же пользователя, который указан в config.php, с тем же паролем, с которым от этого пользователя создавалась БД (это может не совпадать с паролем того же пользователя в систем Linux, да и имя пользователя БД может отсутствовать в системе):
Код: Выделить всё
root@277938:~# mysql --password
Enter password: xxxxxxxx
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 52387
Server version: 10.3.18-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use forum;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [forum]> show tables;
+--------------------------+
| Tables_in_forum |
+--------------------------+
| rl_comments |
| rl_eval |
| rl_pages |
| rlf1_acl_groups |
| rlf1_acl_options |
| rlf1_acl_roles |
| rlf1_acl_roles_data |
| rlf1_acl_users |
| rlf1_attachments |
| rlf1_banlist |
| rlf1_bbcodes |
| rlf1_bookmarks |
| rlf1_bots |
| rlf1_captcha_answers |
| rlf1_captcha_questions |
| rlf1_clicks |
| rlf1_config |
| rlf1_config_text |
| rlf1_confirm |
| rlf1_disallow |
| rlf1_drafts |
| rlf1_ext |
| rlf1_extension_groups |
| rlf1_extensions |
| rlf1_forums |
| rlf1_forums_access |
| rlf1_forums_track |
| rlf1_forums_watch |
| rlf1_groups |
| rlf1_icons |
| rlf1_lang |
| rlf1_log |
| rlf1_login_attempts |
| rlf1_migrations |
| rlf1_moderator_cache |
| rlf1_modules |
| rlf1_notification_types |
| rlf1_notifications |
| rlf1_oauth_accounts |
| rlf1_oauth_states |
| rlf1_oauth_tokens |
| rlf1_poll_options |
| rlf1_poll_votes |
| rlf1_posts |
| rlf1_privmsgs |
| rlf1_privmsgs_folder |
| rlf1_privmsgs_rules |
| rlf1_privmsgs_to |
| rlf1_profile_fields |
| rlf1_profile_fields_data |
| rlf1_profile_fields_lang |
| rlf1_profile_lang |
| rlf1_qa_confirm |
| rlf1_ranks |
| rlf1_reports |
| rlf1_reports_reasons |
| rlf1_search_results |
| rlf1_search_wordlist |
| rlf1_search_wordmatch |
| rlf1_sessions |
| rlf1_sessions_keys |
| rlf1_sitelist |
| rlf1_smilies |
| rlf1_styles |
| rlf1_teampage |
| rlf1_topics |
| rlf1_topics_posted |
| rlf1_topics_track |
| rlf1_topics_watch |
| rlf1_user_group |
| rlf1_user_notifications |
| rlf1_users |
| rlf1_warnings |
| rlf1_words |
| rlf1_zebra |
+--------------------------+
75 rows in set (0.001 sec)
MariaDB [forum]> quit
Bye
Re: PHP и WEB-хостинг
Добавлено: 25 дек 2019, 20:43
Olej
Olej писал(а): ↑25 дек 2019, 02:16
1. Смотрим как заливалась из бэкапов БД (или создавалась новая), например:
Как по ходу эксплуатации по-новой создавать (в консоли) бэкапы форума phpBB:
- бэкап файлов корневого каталога форума - это достаточно просто и понятно: архивирование и сжатие корневого каталога форма, вот этого:
Код: Выделить всё
root@277938:~# du -hs /var/www/linux-ru.ru/
1.2G /var/www/linux-ru.ru/
- бэкап БД mysql - здесь сложнее, здесь простой логикой не прокатит ... здесь нужна команда, а для неё параметры, например так:
Код: Выделить всё
root@277938:/var/www/linux-ru.ru# cat /var/www/linux-ru.ru/config.php
<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysqli';
$dbhost = 'localhost';
$dbport = '';
$dbname = 'forum_title';
$dbuser = 'forum_user';
$dbpasswd = 'xxxxxxxx';
$table_prefix = 'rlf1_';
$acm_type = 'file';
$load_extensions = '';
@define('PHPBB_INSTALLED', true);
@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
?>
Теперь с этими параметрами можем бэкапить:
Код: Выделить всё
root@277938:~# mysqldump -u forum_user -p xxxxxxxx forum_title > new_backup.sql
root@277938:~# ls -l new_backup.sql
-rw-r--r-- 1 root root 48685683 Dec 25 20:29 new_backup.sql
root@277938:~# file new_backup.sql
new_backup.sql: UTF-8 Unicode text, with very long lines