Как сделать простой веб-сайт за один час, часть 2

Mar 05, 2016 20:28




Как сделать простой веб-сайт за один час, часть 1

заглянуть
конфигурации сервера
Ставим 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

yum --enablerepo=remi,remi-php73 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-ldap

обновить 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 для работы с кучей разных сайтов
Настройка NGINX для поддержки одного и нескольких сайтов WordPress
Несколько сайтов на nginx, один IP-адрес

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

server {
listen 8080;
server_name your_server_ip;

# note that these lines are originally from the "location /" block
root /usr/share/nginx/html;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

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/
Как создать самоподписанный сертификат SSL для Nginx на CentOS 7
Настройка nginx для работы с сертификатами ГОСТ 2012 года
Как добавить модуль gzip в Nginx на CentOS 7
-----------------------------------------------------------------------------------
Документация Основы Веб-программирования WSGI (pep-333)
Развертывание приложения Python WSGI с помощью uWSGI+NGINX
Настройка uWSGI и NGINX для обслуживания приложений Python в Ubuntu 14.04
веб-интерфейс для python в ubuntu используя nginx и uwsgi
Как избежать 10 частых ошибок в настройке NGINX

Как завершить TLS-соединение в Nginx
Настройка LEMP-сервера с помощью Ansible для простых проектов. Часть первая: знакомство с Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов: практический курс. Часть первая
-----------------------------------------------------------------------------------
Динамические виртуальные хосты (dynamic vhost) в nginx
нужно для того, чтобы каждый раз при добавлении домена, не было нужды редактировать файл конфигурации. Достаточно один раз настроить, добавить\обновить DNS запись и добавить директорию на сервер.

server {
server_name $host;
root /var/www/$host;
# ... and so on ...
}

проверять наличие директории, и если такой нет - показывать 404 ошибку:

server_name $host;

if (!-d /var/www/$host) {
return 404;
}

root /var/www/$host;

Если необходимо только для поддоменов то:

server_name $subdomain.example.com;

if (!-d /var/www/$subdomain.example.com) {
return 404;
}

root /var/www/$subdomain.example.com;

вместо 404 ошибки можно сделать перенаправление (редирект, если будет угодно) на основной:

server_name $subdomain.example.com;

if (!-d /var/www/$subdomain.example.com) {
rewrite ^/(.*) http://example.com permanent;
}

root /var/www/$subdomain.example.com;

универсальный вариант для доменов и поддоменов:

server {
set $basepath "/var/www";
set $domain $host;

if ($domain ~ "^(.[^.]*)$") {
set $domain $1;
set $rootpath "${domain}/html/";
set $servername "${domain}";
}

if ($domain ~ "^(.*)\.(.[^.]*)$") {
set $subdomain $1;
set $domain $2;
set $rootpath "${subdomain}.${domain}/html/";
set $servername "${subdomain}.${domain}";
}

if (!-d $basepath/$rootpath) {
return 404;
}

server_name $servername;
root $basepath/$rootpath/;
}

Редирект с www на без www Nginx
Редирект с http на https Nginx

обратный прокси (доступ к ресурсу за nat)
nginx настраивается как тут добавляется файл server233_reverse.conf в /etc/nginx/virt_host, а символическая ссылка с него - в /etc/nginx/conf.d/

server {
listen 8080 default_server;
#listen [::]:8080 default_server;
listen 28080 default_server;
#listen [::]:28080 default_server;
server_name _;
root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
proxy_pass http://172.16.0.233:8080;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

server {
listen 8888 default_server;
#listen [::]:8888 default_server;
listen 28888 default_server;
#listen [::]:28888 default_server;
server_name _;
root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
proxy_pass http://wiki.my.server; # имя или адрес сервера
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --zone=external --add-port=28080/tcp --permanent
sudo firewall-cmd --zone=external --add-port=28888/tcp --permanent
sudo firewall-cmd --reload

появится доступ из внутренней сети по порту 8080, из наружной по порту 28080, к сайту на сервере 233, находящемся на порту 8080, с 8888 портом, на котором висит другой сайт - аналогично

Решение с помощью firewall-cmd
https://www.dmosk.ru/miniinstruktions.php?mini=router-centos
перенаправление сетевых запросов на сервер, стоящий за NAT и не имеющий прямого выхода во внешнюю сеть.

firewall-cmd --zone=external --permanent --add-forward-port=port=25:proto=tcp:toport=8025:toaddr=192.168.0.15

* где 25 - прослушиваемый внешний порт, для которого сработает перенаправление; tcp - используемый транспортный протокол; 8025 - на какой порт перенаправить запрос; 192.168.0.15 - IP-адрес сервера, на который отправляем запросы.

Разрешаем сам порт:
firewall-cmd --permanent --zone=external --add-port=25/tcp

Чтобы правило вступило в силу:
firewall-cmd --reload

установка squid с доступом по группам в AD, squidGuard, lighttpd+lightsquid, sams2 в centos часть 1
установка squid с доступом по группам в AD, squidGuard, lighttpd+lightsquid, sams2 в centos часть 2

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html
https://www.scaleway.com/en/docs/how-to-configure-nginx-reverse-proxy/
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
https://nginx.org/ru/docs/http/ngx_http_proxy_module.html
Настройка обратного прокси Nginx на Linux
Проксирование запросов в nginx с помощью proxy_pass
Nginx как обратный прокси на Docker
Проксирование запросов в nginx с помощью proxy_pass
Разбираемся в HTTP прокси NGINX, балансировке нагрузки, буферизации и кешировании
Виртуальные хосты на nginx (CSC309)

Примеры редиректов в NGINX

Настройка Nginx для использования в качестве веб-сервера и обратного прокси-сервера для Apache в One Ubuntu 18.04 Server

https://docs.nginx.com/nginx/deployment-guides/load-balance-third-party/microsoft-exchange/
Настройка NGINX для проксирования почты
СКРЫВАЕМ ЧАСТЬ РЕСУРСОВ IIS СРЕДСТВАМИ NGINX AS REVERSE PROXY (CENTOS 7)
Обратный прокси на Nginx

http://nginx.org/en/docs/http/load_balancing.html

https://wiki.squid-cache.org/SquidFaq/ReverseProxy
Reverse proxy from nginx to squid?
Требуется связка: client <-> nginx <-> squid <-> site.
Обратный прокси от nginx до squid

взаимодействие с CGI
Configure Perl-FastCGI on CentOS 7 Nginx Server
https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/
http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html
настройка nginx+perl
https://www.linode.com/docs/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/

sudo yum install spawn-fcgi fcgiwrap

nano /etc/nginx/virt_host/default_perl.conf

server {
listen 8080;
#server_name example.com www.example.com;
server_name 172.16.0.111;
#root /var/www/example.com;
root /var/www/default_perl;
#access_log /var/www/logs/example.com.access.log;
access_log /var/www/logs/default_perl.access.log;

location / {
index index.html index.htm index.pl;
}

location ~ \.pl|cgi$ {
try_files $uri =404;
gzip off;
#fastcgi_pass 127.0.0.1:8999;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
#fastcgi_pass unix:/var/run/fastcgi.socket;
fastcgi_index index.pl;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

ln -s /etc/nginx/virt_host/default_perl.conf /etc/nginx/conf.d/

nano /etc/sysconfig/spawn-fcgi

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
SOCKET=/var/run/fcgiwrap.socket
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"
#OPTIONS="-u nginx -g nginx -a 127.0.0.1 -p 9001 -P /var/run/spawn-fcgi.pid -- /usr/sbin/fcgiwrap"
OPTIONS="-u nginx -g nginx -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/sbin/fcgiwrap"

nano /var/www/default_perl/index.pl

#!/usr/bin/perl
use strict;
use warnings;
use CGI;

print foreach (
"Content-Type: text/plain\n\n",
"BW Test version 5.0\n",
"Copyright 1995-2008 The BearHeart Group, LLC\n\n",
"Versions:\n=================\n",
"perl: $]\n",
"CGI: $CGI::VERSION\n"
);

my $q = CGI::Vars();
print "\nCGI Values:\n=================\n";
foreach my $k ( sort keys %$q ) {
print "$k [$q->{$k}]\n";
}

print "\nEnvironment Variables:\n=================\n";
foreach my $k ( sort keys %ENV ) {
print "$k [$ENV{$k}]\n";
}

systemctl enable --now spawn-fcgi

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

[unit]
name=unit repo
baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

2. Remi repository installation

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

3. Server and modules installation

# yum install unit unit-php php56-unit-php php71-unit-php php72-unit-php php73-unit-php

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

{
"applications": {
"exphp": {
"type": "php",
"user": "nobody",
"processes": 2,
"root": "/var/www/html",
"index": "index.php"
},
"exphp56": {
"type": "php 5.6",
"user": "nobody",
"processes": 2,
"root": "/var/www/html",
"index": "index.php"
},
"exphp71": {
"type": "php 7.1",
"user": "nobody",
"processes": 2,
"root": "/var/www/html",
"index": "index.php"
},
"exphp72": {
"type": "php 7.2",
"user": "nobody",
"processes": 2,
"root": "/var/www/html",
"index": "index.php"
},
"exphp73": {
"type": "php 7.3",
"user": "nobody",
"processes": 2,
"root": "/var/www/html",
"index": "index.php"
}
},
"listeners": {
"*:8300": {
"application": "exphp"
},
"*:8356": {
"application": "exphp56"
},
"*:8371": {
"application": "exphp71"
},
"*:8372": {
"application": "exphp72"
},
"*:8373": {
"application": "exphp73"
}
}
}

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

{
"success": "Reconfiguration done."
}

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

phpmyadmin
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-20-04-ru
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-nginx-on-an-ubuntu-18-04-server
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04-ru
https://howitmake.ru/blog/ubuntu/93.html

apt install nginx mysql-server
apt install php-fpm php-mysql
mysql_secure_installation
apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

vim /etc/php/7.4/fpm/php.ini

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

/etc/nginx/sites-available/phpmyadmin

server {
listen 80;
#root /home/example/www;
root /home/www/html/phpmyadmin;
charset utf-8;

#access_log /home/example/logs/nginx.access.log; #расположение логов данного хоста

server_name 127.0.0.1; # example.org www.example.org;

location / {
index index.php index.html index.htm;
}

location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#Работа с phpMyAdmin
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}

}

vim /var/www/html/info.php

/etc/nginx/sites-available/default_php

server {
listen 8080;
root /var/www/html;
index info.php index.php index.html index.htm index.nginx-debian.html;
server_name example.com;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

cd /etc/nginx/sites-available/
ln -s ../sites-available/phpmyadmin
ln -s ../sites-available/default_php

nginx -t
systemctl reload nginx
service nginx restart

если
1044 - Для пользователя 'phpmyadmin'@'localhost' доступ к базе данных 'baza' закрыт

https://losst.ru/ustanovka-phpmyadmin-s-nginx-v-ubuntu-20-04
sudo mysql -u root -p
После ввода пароля root пользователя MySQL, введите следующие команды:
CREATE USER 'test'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';
FLUSH PRIVILEGES;

lighttpd
https://wiki.archlinux.org/index.php/Lighttpd_(Русский)#Виртуальные_хосты
https://lorwiki.org.ru/wiki/Lighttpd
Веб-сервер Lighttpd - настраиваем виртуальные хосты.
Веб-сервер Lighttpd - включаем поддержку SSL.
Создание виртуальных хостов с mod_mysql vhost в Lighttpd на Ubuntu
lighttpd в качестве обратного прокси
https://wiki.archlinux.org/index.php/Lighttpd_(Русский)#Lighttpd_как_reverse_proxy_для_отдачи_статики
https://stackoverflow.com/questions/4859956/lighttpd-as-reverse-proxy
Обязательный пакет

server.modules = (
...
"mod_proxy",
...
)
Настройка вашего внешнего прокси: для lighttpd.conf @ 192.168.1.10

$HTTP["url"] =~ "^.*DeviceB" {
proxy.server = ( "" =>
(( "host" => "192.168.1.20", "port" => 80 ))
)
}

$HTTP["url"] =~ "^.*DeviceC" {
proxy.server = ( "" =>
(( "host" => "192.168.1.30", "port" => 80 ))
)
}
Для полной документации по lighttpd mod_proxy, вы можете обратиться к http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModProxy

LAMP
http://www.apache.org/
https://downloads.apache.org/
https://projects.apache.org/releases.html
https://www.apachelounge.com/download/
https://help.ubuntu.ru/wiki/apache2
Большой Мануал по настройке lamp-сервера на Debian: Часть 0.
Установка и настройка сервера Apache на ubuntu
Установка веб-сервера Apache в CentOS 7
Настройка web сервера в CentOS 7
Веб-сервер Apache: установка, настройка и способы защиты от атак
Разработка сайтов на домашней машине с Fedora
Установка phpmyadmin на CentOS 7
Настройка Apache + SSL для работы сайта по HTTPS
Установка Apache HTTP Server 2.2.22 на Windows
Установка Apache и PHP на Windows

https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
How to Configure Apache HTTPS Reverse Proxy on CentOS Linux
Настройка mod_proxy в Apache
How To Use Apache HTTP Server As Reverse-Proxy Using mod_proxy Extension
How To Use Apache as a Reverse Proxy with mod_proxy on CentOS 7
Как использовать Apache в качестве обратного прокси с mod_proxy на CentOS 7
Как использовать Apache в качестве обратного прокси при помощи mod_proxy на Ubuntu 16.04
Настройка Reverse Proxy Apache (Debian 8) с автоматической выдачей Let's Encrypt
Using Let's Encrypt and Docker for Automatic SSL
Apache2 als Reverse Proxy für Exchange 2010 2013 2016 2019 inklusive Outlook Anywhere RPC over http
Настройка Apache Reverse Proxy для MS Exchange 2010, 2013, 2016 (Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr)

HAProxy
Разбираем методы проксирования на основе HAProxy
Как установить и настроить HAproxy в Ubuntu 20.04 LTS

Самостоятельная настройка VDS / VPS

https://2ton.com.au/standalone_binaries/rwasa
https://github.com/caddyserver/caddy

https://letsencrypt.org/
https://whatsmychaincert.com/
Настройка HTTPS с сертификатами Let’s Encrypt

https://www.acme.com/software/thttpd/
thttpd -D -h 0.0.0.0 -p 3000 -d /static-website -u static-user -l - -M 60
https://redbean.dev/

Настройка Linux для высоконагруженных проектов и защиты от DDoS

5 способов создать мгновенный легкий веб-сервер с помощью командной строки Linux

использование docker
docker команды
centos docker yii
подборка по виртуализации и облакам
Опыт разработки высоконагруженной системы в рамках HighLoad Cup
Разработка под Docker. Локальное окружение. Часть 1
Разработка под Docker. Локальное окружение. Часть 2 - Nginx+PHP+MySql+phpMyAdmin
Готовим локальную среду Docker для разработки на PHP
https://github.com/PHPtoday-ru/docker-local-conf
https://hub.docker.com/_/scratch
Как поднять сайт в Docker
Настройка веб-сервера в Docker (NGINX + PHP + MariaDB)
Используем Docker для развертывания web-приложения bitrix
Настройка LEMP сервера с помощью docker для простых проектов. Часть первая: База
https://github.com/lipanski/docker-static-website
60+ Best Docker Containers for Home Server Beginners 2023
Docker Media Server Ubuntu 22.04 with 23 Awesome Apps
https://github.com/htpcBeginner/docker-traefik

управлялки
https://www.webmin.com/
https://cockpit-project.org/
http://vestacp.com/
https://ajenti.org/
https://www.rundeck.com/open-source

контент
RSS
https://freshrss.org/
https://tt-rss.org/
https://github.com/fossar/selfoss
https://github.com/samuelclay/NewsBlur
https://github.com/feedhq/feedhq
https://miniflux.app/

https://github.com/DIYgod/RSSHub
https://github.com/RSS-Bridge/rss-bridge
https://github.com/suin/php-rss-writer/
https://bitbucket.org/fivefilters/full-text-rss/src/master/
https://github.com/Kombustor/rss-fulltext-proxy
https://github.com/goutsune/unko
https://rssbox.herokuapp.com/

Обзор RSS-ридеров - self-hosted альтернативы Google Reader
Почему я по-прежнему пользуюсь RSS
Что такое RSS-лента и как ее создать

Трансляция потока с веб-камеры с помощью ffserver
Потоковое видео средствами ffserver & ffmpeg
Запускаем DOS игру в браузере
https://dos.zone/studio/
Пишем онлайн-тренажёр для Python, C++ и Go: опыт Практикума
Установка GitLab совместно с уже работающим Nginx
Рабочий стол Linux в браузере
https://github.com/navidrome/navidrome
https://www.navidrome.org/docs/installation/linux/
https://browsix.org/
https://github.com/plasma-umass/browsix
https://github.com/yudai/gotty
https://github.com/os-js/OS.js
https://github.com/os-js/osjs-server
https://xtermjs.org/
https://github.com/butlerx/wetty
https://chromium.googlesource.com/apps/libapps/+/master/hterm/
https://chromium.googlesource.com/apps/libapps/+/master/nassh/
https://github.com/DustinBrett/daedalOS

https://github.com/paradoxxxzero/butterfly
https://github.com/BlackArch/webshells
https://github.com/epinna/weevely3

Matrix: децентрализованные открытые мессенджеры с E2E-шифрованием. Обзор возможностей и настройка своего сервера
https://github.com/element-hq/dendrite

https://github.com/conversejs/converse.js
https://open-store.io/app/conversejs.luigi311

Безопасный HTTPS-прокси менее чем за 10 минут
https://freemyip.com/
https://github.com/SenseUnit/dumbproxy

Cloud Commander - веб файловый менеджер для управления файлами и программами Linux через браузер

HTML код для получения видео с камеры, сохранить этот код в файл с расширением .htm и открыть веб-браузером.






Display Webcam Stream



Проверка веб камеры онлайн





                                             

>

var video = document.querySelector("#videoElement");
var stopVideo = document.querySelector("#stop");
var startVideo = document.querySelector("#start");

stopVideo.addEventListener("click", stop, false);
startVideo.addEventListener("click", startWebCam, false);

function startWebCam() {
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({video: true})
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
}
}

function stop(e) {
var stream = video.srcObject;
var tracks = stream.getTracks();

for (var i = 0; i < tracks.length; i++) {
var track = tracks[i];
track.stop();
}

video.srcObject = null;
}




Решение проблем неправильной кодировкой веб-страницы
Защита контента веб-сайта
Сетевой pivoting: понятие, примеры, техники, инструменты
75 фактов, которые полезно знать перед тем, как выложить сайт

https://doka.guide/

публикация
https://localtunnel.github.io/www/
https://ngrok.com/
Как без белого IP локальный веб-сервер сделать доступным из Интернета
https://github.com/samyk/pwnat

домен DNS DDNS
домен
https://www.freenom.com/
https://gen.xyz/
https://ru.hostings.info/domen-xyz
https://ru.tld-list.com/tld/xyz
https://codd-wd.ru/fwd/domains/
https://atex.ru/
https://sweb.ru/
https://freedns.afraid.org/

Свои DDNS (Dynamic DNS) сервер и клиент на базе Debian
Настройка DynDNS на Debian

SSL
https://zerossl.com/
https://letsencrypt.org/
сертификат
cert.мой_сайт.xyz
https://github.com/acmesh-official/acme.sh
Acme.sh + Ansible + Alias mode: Автоматизируем получение и распространение TLS сертификатов
Начало работы с acme.sh и клиентом Let’s Encrypt SSL
Сертификаты Let's Encrypt Установка и автоматизация с помощью acme-tiny
Как установить бесплатный сертификат Let’s Encrypt и настроить автоматический перевыпуск
Получение бесплатного SSL сертификата Let's Encrypt
Получаем сертификаты Let's Encrypt при помощи Certbot
Let's Encrypt: получение сертификата по шагам
Создание самоподписанного SSL-сертификата для Apache в Debian 10
Настройка Apache + SSL для работы сайта по HTTPS
Создание самоподписанного SSL-сертификата
Создание самоподписанного SSL-сертификата
https://www.altlinux.org/Создание_самоподписанных_сертификатов
OpenSSL: принципы работы, создание сертификатов, аудит
быстро выпустить свой сертификат через свой CA, добавив его к себе в доверенные
центр сертификации от компании SmallStep
https://github.com/smallstep/certificates

примеры создания самоподписанного серификата

openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj "/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test"

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

openssl req -new -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

openssl req -new -x509 -days 365 -key hackware.local.key -out hackware.local.crt -subj "/C=GB/L=London/O=Any Corp Ltd/CN=hackware.local"

certificate.crt - сам сертификат;
privateKey.key - файл ключа.

Файлы ключа и сертификата будут размещены в каталоге, указанном при вызове команды openssl в параметрах keyout и out.
При использовании OpenSSL необходимо также создать ключи Диффи-Хеллмана, чтобы
сгенерировать ключи Диффи-Хеллмана длиной 4096 бит и сохранить их в файл /etc/nginx/dhparam.pem:
нужно вбить команду

openssl dhparam -out /etc/nginx/dhparam.pem 4096

Преобразуйте файл сертификата в доверенный сертификат формата DER для импорта в браузер. Для этого выполните команду:

openssl x509 -in bump.crt -outform DER -out bump.der

Импортируйте файл bump.der в список доверенных корневых центров сертификации на компьютерах пользователей.
При использовании некоторых браузеров (например, Mozilla Firefox) требуется также добавить сертификат в хранилище браузера.

создание самоподписанного сертификата на примере настойки openvpn
Как сделать и настроить собственный VPN

sudo apt install easy-rsa

В папке нашего пользователя создаем директорию с символической ссылкой и нужными правами:
mkdir ~/easy-rsa
ln -s /usr/share/easy-rsa/* ~/easy-rsa/
chmod 700 ~/easy-rsa

Создаем конфигурационный файл для Easy-RSA и инициализируем инфраструктуру открытых ключей (PKI):
cd ~/easy-rsa
echo -e 'set_var EASYRSA_ALGO ec\nset_var EASYRSA_DIGEST sha512' > vars
./easyrsa init-pki

Сгенерируем ключи удостоверяющего центра:
./easyrsa build-ca nopass

Система запросит ввести универсальное имя, здесь можно просто нажать Enter.
Выпустим и подпишем пару "ключ-сертификат" для сервера:
./easyrsa gen-req server nopass
./easyrsa sign-req server server

При выполнении первой команды вас попросят указать Common Name, здесь просто нажмите Enter. Для второй команды запрос нужно подтвердить, введя yes.

Выпустим и подпишем пару "ключ-сертификат" для клиента client1:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

vps
Список сетей VPS/выделенных серверов, подвергающихся цензуре в России
https://poiskvps.ru/
https://vds.menu/
https://vps.today/

https://github.com/lesichkovm/awesome-vps-price-breakdown
https://www.oracle.com/cloud/free/
?
https://cybernews.com/best-web-hosting/free-vps-hosting/
https://www.ionos.com/servers/vps
https://www.digitalocean.com/
https://www.vultr.com/products/cloud-compute/
http://lowendstock.com/deals/
https://haphost.com/vps-hosting/
https://www.cloudatcost.com/

?
https://justhost.asia/
https://justhost.ru/
https://hshp.host/
https://ztv.su/
https://eurobyte.ru/
https://beget.com/
https://ihor.online/
https://62yun.ru/
https://ruweb.net/
https://weasel.cloud/
https://nuxt.cloud/
https://hip.hosting/
https://pq.hosting/
https://mchost.ru/
https://hostkey.ru/vps/
https://cp.inferno.name/
https://fornex.com/
https://firstbyte.ru/
https://aeza.net/ru
https://ishosting.com/
https://timeweb.cloud/
https://serverspace.ru/
https://www.ihc.ru/
https://firstvds.ru/
https://handyhost.ru/
https://www.majordomo.ru/
https://www.ipserver.su/
https://vds.sh/
https://4vps.su/

?
https://bitlaunch.io/

https://vpswala.org/cart/index.php?rp=/store/web-hosting
https://www.gigarocket.net/free-vps.php

Oracle раздает бесплатные VPS навсегда
Бесплатный VPS от Google навсегда
Регистрируем бесплатный (Always Free) VPS - сервер от Oracle навсегда, для сервисов Умного дома или чего-то другого.
Как получить бесплатный VPS (VDS) сервер навсегда

VPN на своём сервере с IP адресом из США за 1$ в месяц⁠⁠

проверить месторасположение vps
https://www.myip.com/
https://whatismycountry.com/

python, sites, git, docker, www, подборка, coding, open source, полезное, сисадм

Previous post Next post
Up