Base sync backup: 2025-01-16 00:06:10
28
2. Проекты/Gitea_Главная/Cache/File_1.md
Normal file
@@ -0,0 +1,28 @@
|
||||
```bash
|
||||
#! /bin/bash
|
||||
# Heavily inspired by https://github.com/urfave/cli
|
||||
|
||||
_cli_bash_autocomplete() {
|
||||
if [[ "${COMP_WORDS[0]}" != "source" ]]; then
|
||||
local cur opts base
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
if [[ "$cur" == "-"* ]]; then
|
||||
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} ${cur} --generate-bash-completion )
|
||||
else
|
||||
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -z "$PROG" ] && [ ! "$(command -v gitea &> /dev/null)" ] ; then
|
||||
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete gitea
|
||||
elif [ -z "$PROG" ]; then
|
||||
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete ./gitea
|
||||
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PWD/gitea"
|
||||
else
|
||||
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PROG"
|
||||
unset PROG
|
||||
fi```
|
||||
89
2. Проекты/Gitea_Главная/Cache/File_Gitea_service.md
Normal file
@@ -0,0 +1,89 @@
|
||||
```Bash
|
||||
[Unit]
|
||||
Description=Gitea (Git with a cup of tea)
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
###
|
||||
# Don't forget to add the database service dependencies
|
||||
###
|
||||
#
|
||||
#Wants=mysql.service
|
||||
#After=mysql.service
|
||||
#
|
||||
#Wants=mariadb.service
|
||||
#After=mariadb.service
|
||||
#
|
||||
#Wants=postgresql.service
|
||||
#After=postgresql.service
|
||||
#
|
||||
#Wants=memcached.service
|
||||
#After=memcached.service
|
||||
#
|
||||
#Wants=redis.service
|
||||
#After=redis.service
|
||||
#
|
||||
###
|
||||
# If using socket activation for main http/s
|
||||
###
|
||||
#
|
||||
#After=gitea.main.socket
|
||||
#Requires=gitea.main.socket
|
||||
#
|
||||
###
|
||||
# (You can also provide gitea an http fallback and/or ssh socket too)
|
||||
#
|
||||
# An example of /etc/systemd/system/gitea.main.socket
|
||||
###
|
||||
##
|
||||
## [Unit]
|
||||
## Description=Gitea Web Socket
|
||||
## PartOf=gitea.service
|
||||
##
|
||||
## [Socket]
|
||||
## Service=gitea.service
|
||||
## ListenStream=<some_port>
|
||||
## NoDelay=true
|
||||
##
|
||||
## [Install]
|
||||
## WantedBy=sockets.target
|
||||
##
|
||||
###
|
||||
|
||||
[Service]
|
||||
# Uncomment the next line if you have repos with lots of files and get a HTTP 500 error because of that
|
||||
# LimitNOFILE=524288:524288
|
||||
RestartSec=2s
|
||||
Type=notify
|
||||
User=git
|
||||
Group=git
|
||||
WorkingDirectory=/var/lib/gitea/
|
||||
# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file
|
||||
# (manually creating /run/gitea doesn't work, because it would not persist across reboots)
|
||||
#RuntimeDirectory=gitea
|
||||
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
|
||||
Restart=always
|
||||
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
|
||||
WatchdogSec=30s
|
||||
# If you install Git to directory prefix other than default PATH (which happens
|
||||
# for example if you install other versions of Git side-to-side with
|
||||
# distribution version), uncomment below line and add that prefix to PATH
|
||||
# Don't forget to place git-lfs binary on the PATH below if you want to enable
|
||||
# Git LFS support
|
||||
#Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin
|
||||
# If you want to bind Gitea to a port below 1024, uncomment
|
||||
# the two values below, or use socket activation to pass Gitea its ports as above
|
||||
###
|
||||
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||
#AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
###
|
||||
# In some cases, when using CapabilityBoundingSet and AmbientCapabilities option, you may want to
|
||||
# set the following value to false to allow capabilities to be applied on gitea process. The following
|
||||
# value if set to true sandboxes gitea service and prevent any processes from running with privileges
|
||||
# in the host user namespace.
|
||||
###
|
||||
#PrivateUsers=false
|
||||
###
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
137
2. Проекты/Gitea_Главная/Gitea установка (PC).md
Normal file
@@ -0,0 +1,137 @@
|
||||
> [!quote] [Источник](https://kodprog.ru/ustanovka-gitea-v-ubuntu-2204#gsc.tab=0)
|
||||
|
||||
## Установка Gitea в Ubuntu 22.04
|
||||
|
||||
Перейдём к установке gitea:
|
||||
Следующей командой скачаю gitea:
|
||||
|
||||
```bash
|
||||
wget -O gitea https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64
|
||||
```
|
||||
Где 1.20.5 - это версия gitea.
|
||||
И предоставлю ей права на выполнение:
|
||||
```bash
|
||||
chmod +x gitea
|
||||
```
|
||||
|
||||
После этого надпись gitea стала зелёной и слева в строчке везде появилась X:
|
||||
|
||||
![[Pasted image 20240915235906.png]]
|
||||
|
||||
Далее загружу gpg ключ:
|
||||
|
||||
```bash
|
||||
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
|
||||
```
|
||||
|
||||
И скачаю asc файл для верификации:
|
||||
|
||||
```bash
|
||||
wget -O gitea.asc https://dl.gitea.com/gitea/1.20.5/gitea-1.20.5-linux-amd64.asc
|
||||
```
|
||||
|
||||
Теперь запущу верификацию:
|
||||
|
||||
```bash
|
||||
gpg --verify gitea.asc gitea
|
||||
```
|
||||
|
||||
И должна выйти строчка хорошая подпись несмотря на предупреждение:
|
||||
![[Pasted image 20240915235942.png]]
|
||||
В данном случае файл подлинный и его можно использовать.
|
||||
|
||||
Далее создам необходимые папки:
|
||||
|
||||
```bash
|
||||
mkdir -p /var/lib/gitea/{custom,data,log}
|
||||
```
|
||||
|
||||
Создам нового пользователя git:
|
||||
|
||||
```bash
|
||||
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
|
||||
```
|
||||
|
||||
И назначу права на папки:
|
||||
|
||||
```bash
|
||||
chown -R git:git /var/lib/gitea/
|
||||
chmod -R 750 /var/lib/gitea/
|
||||
mkdir /etc/gitea
|
||||
chown root:git /etc/gitea
|
||||
```
|
||||
|
||||
Для того, чтобы установка прошла успешно, устанавливаются полные права на файлы, которые после установки желательно понизить:
|
||||
|
||||
```bash
|
||||
chmod 770 /etc/gitea
|
||||
```
|
||||
|
||||
Далее копирую gitea в глобальный путь:
|
||||
|
||||
```bash
|
||||
sudo cp gitea /usr/local/bin/gitea
|
||||
```
|
||||
|
||||
Включаю автозаполнение создав данную настройку:
|
||||
|
||||
```bash
|
||||
sudo nano /usr/share/bash-completion/completions/gitea
|
||||
```
|
||||
|
||||
С содержимым из [[File_1]]
|
||||
|
||||
|
||||
![[Pasted image 20240915235958.png]]
|
||||
|
||||
И теперь необходимо создать сервис gitea. Для этого необходимо создать файл:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/systemd/system/gitea.service
|
||||
```
|
||||
|
||||
Со следующим содержимым из [[File_Gitea_service]]
|
||||
![[Pasted image 20240916000017.png]]
|
||||
|
||||
В котором раскомментировать строчки напротив используемой базы данных, в моём случае это mysql
|
||||
|
||||
![[Pasted image 20240916000033.png]]
|
||||
|
||||
Включаю сервис gitea для того, чтобы он запускался во время запуска системы:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable gitea
|
||||
```
|
||||
|
||||
И запускаю его:
|
||||
|
||||
```bash
|
||||
sudo systemctl start gitea
|
||||
```
|
||||
Здесь я подумал то, что всё зависло, и спустя какое-то время команда выдаёт ошибку timeout:
|
||||
![[Pasted image 20240916000057.png]]
|
||||
Но на самом деле нужно было открыть браузер и перейти по пути [http://localhost:3000/](http://localhost:3000/).
|
||||
|
||||
>[!quote]
|
||||
>После команды консоль подвиснет и появится ошибка, **НО** нужно прописать ip сервера и порт 3000 (пример http://212.16.94.33:3000
|
||||
|
||||
Здесь необходимо указать пароль и поменять имя баз данных на giteadb:
|
||||
|
||||
![[Pasted image 20240916000119.png]]
|
||||
>[!quote]
|
||||
>Откроется начальная конфигурация где нужно заполнить:
|
||||
>1) в поле тип базы данных нужно указать SQLite3
|
||||
>2) В название указать название сервиса
|
||||
>3) Оставляем свой ip
|
||||
>4) В базовый url пишем домен (пример http://stitch505.ru/) (
|
||||
|
||||
Открываем Настройки учётной записи администратора и указываем данные
|
||||
|
||||
После этого пролистать вниз и нажать установить Gitea.
|
||||
|
||||
Далее зарегистрирую новый аккаунт:
|
||||
![[Pasted image 20240916000223.png]]
|
||||
|
||||
И создам новый репозиторий нажав на плюс в правом верхнем углу
|
||||
![[Pasted image 20240916000244.png]]
|
||||
Переход в [[Синхронизация PC]]
|
||||
1
2. Проекты/Gitea_Главная/Gitea.md
Normal file
@@ -0,0 +1 @@
|
||||
[[Gitea установка (PC)]]
|
||||
5
2. Проекты/Gitea_Главная/Pass.mdenc
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": "2.0",
|
||||
"hint": "Your_name",
|
||||
"encodedData": "9iac6AQiuP4rQQKNhXlrQ200TYprZdYtNx2SJMQtTCwHnI8qQO/v8zH5SZhBMhUixxfALVSULjXZ43KnNduMOQvGfCdJRVjqjZ+KteLkGPulOPftc8u3I5tP"
|
||||
}
|
||||
25
2. Проекты/Gitea_Главная/Установка домена gitea.md
Normal file
@@ -0,0 +1,25 @@
|
||||
>[!tip] Шаг. 1 Открыть конфиг и указать там домен в ROOT_URL
|
||||
>sudo nano /etc/gitea/app.ini
|
||||
|
||||
>[!tip] Шаг 2. Подключить домен к КлаудФлар и прописать записи в нем
|
||||
> для ROOT & WWW
|
||||
|
||||
> [!tip] Cправочно! Получить сертификат и указать в конфиге
|
||||
>CERT_FILE = fullchain
|
||||
KEY_FILE = private
|
||||
|
||||
>[!tip] Шаг 3. Указать протокол и cертификаты
|
||||
>.# Настройки HTTPS `укахать в конце раздела сервер`
|
||||
PROTOCOL = https
|
||||
CERT_FILE = /etc/letsencrypt/live/__domain__/fullchain.pem
|
||||
KEY_FILE = /etc/letsencrypt/live/__domain__\/privkey.pem
|
||||
|
||||
>[!tip] Шаг 4. Дать доступ к директориям серт. (ПРОПИСАТЬ РУКАМИ)
|
||||
>sudo chmod 755 /etc/letsencrypt
|
||||
>sudo chmod 755 /etc/letsencrypt/live
|
||||
>sudo chmod 755 /etc/letsencrypt/archive
|
||||
>sudo chmod 755 /etc/letsencrypt/live/`DOMAIN`/privkey.pem
|
||||
|
||||
>[!tip] Шаг 5. Перезапустить серв
|
||||
sudo systemctl restart gitea
|
||||
sudo systemctl status gitea.service
|
||||
BIN
2. Проекты/Nextcloud.rar
Normal file
@@ -0,0 +1,134 @@
|
||||
## Step 1. Обновление системы
|
||||
|
||||
необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:
|
||||
`sudo apt update -y && sudo apt upgrade -y`
|
||||
<h2 align=center> Установка стека Lamp </h2>
|
||||
|
||||
## Step 2. Установка [[LAMP стек]] (Перейти в ссылку)
|
||||
|
||||
>[!warning] Установку выполняем строго по очередности!!!!
|
||||
|
||||
## Step 3. Создание пользователя Nextcloud
|
||||
|
||||
Далее мы создадим базу данных **Nextcloud** и пользователя **Nextcloud** и назначим привилегии этому пользователю и базе данных. База данных и пользователь будут иметь одно и то же имя **nextcloud**.
|
||||
|
||||
|
||||
1) Войти в mariadb командой:
|
||||
`sudo mariadb`
|
||||
2) Отредактировать данные о будущем пользователе и исполняем код
|
||||
|
||||
>[!warrning] Первоначальный код
|
||||
|
||||
`MariaDB [(none)]> CREATE DATABASE nextcloud;`
|
||||
`MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO` 'nextcloud`'@'localhost' IDENTIFIED BY` 'YourStrongPasswordHere';
|
||||
`MariaDB [(none)]> FLUSH PRIVILEGES;`
|
||||
`MariaDB [(none)]> EXIT;`
|
||||
|
||||
>[!warrning] Пример как должно быть
|
||||
|
||||
`CREATE DATABASE nextcloud;`
|
||||
`GRANT ALL PRIVILEGES ON nextcloud.* TO` 'Stitch505'`@'localhost'` `IDENTIFIED BY` 'Tested123123';
|
||||
`FLUSH PRIVILEGES;`
|
||||
`EXIT;`
|
||||
>[!warrning] Где `Stitch505` это твой логин, а `Tested123123` это пароль
|
||||
|
||||
## Step 3. Установка NextCloud
|
||||
|
||||
Стек LAMP готов, база данных создана. Теперь нам нужно загрузить последнюю версию Nextcloud и поместить ее в корень документа Apache.
|
||||
<<<<<<< HEAD
|
||||
`sudo wget https://download.nextcloud.com/server/releases/nextcloud-30.0.4.zip`
|
||||
|
||||
После загрузки извлеките его в корень документа Apache.
|
||||
`sudo unzip nextcloud-30.0.4.zip -d /var/www/html/`
|
||||
=======
|
||||
`sudo wget https://download.nextcloud.com/server/releases/nextcloud-29.0.0.zip`
|
||||
|
||||
После загрузки извлеките его в корень документа Apache.
|
||||
`sudo unzip nextcloud-29.0.0.zip -d /var/www/html/`
|
||||
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
|
||||
|
||||
>[!warning] Если пишет что нет программы unzip, то нужно его установить командой:
|
||||
sudo apt-get update
|
||||
sudo apt-get install unzip
|
||||
|
||||
|
||||
Установите правильное владение файлом и папкой:
|
||||
`chown -R www-data:www-data /var/www/html/nextcloud`
|
||||
|
||||
## Step 5. Создайте файл виртуального хоста Apache
|
||||
|
||||
Нужно создать файл виртуального хоста Apache для сервера файлов Nextcloud, чтобы мы могли получить к нему доступ через доменное имя:
|
||||
|
||||
`touch /etc/apache2/sites-available/nextcloud.conf`
|
||||
|
||||
1) Откройте созданный файл командой:
|
||||
<<<<<<< HEAD
|
||||
2) sudo nano `/etc/apache2/sites-available/nextcloud.conf`
|
||||
=======
|
||||
2) sudo nano `etc/apache2/sites-available/nextcloud.conf`
|
||||
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
|
||||
3) в редакторе и вставьте код из [[Virtual_host]]
|
||||
4) нажмите для сохранения и выхода `ctrl + x -> y -> enter`
|
||||
|
||||
Теперь запустим вебсайт (NextCloud)
|
||||
<<<<<<< HEAD
|
||||
`sudo a2ensite nextcloud.conf`
|
||||
=======
|
||||
`a2ensite nextcloud.conf`
|
||||
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
|
||||
|
||||
Затем включите необходимые модули Apache с помощью следующей команды
|
||||
`a2enmod rewrite headers env dir mime setenvif ssl`
|
||||
|
||||
Проверьте синтаксис Apache:
|
||||
`apachectl -t`
|
||||
>[!warning] При ошибке `Could not reliably determine the server's fully qualified domain name` нужно:
|
||||
>1) Открыть глобальный конфигурационный файл Apache (путь `sudo nano /etc/apache2/apache2.conf`)
|
||||
>2) В конец файла добавьте строку `ServerName ____`
|
||||
, указывающую имя сервера. Если у вас нет полноценного доменного имени, (~~можно использовать IP-адрес~~):
|
||||
>3) Пример того, как должно быть [[Открой файл в папке и посмотри содержимое!]]
|
||||
>4) После внесения изменений нужно использовать команды
|
||||
>5) `sudo apachectl -t`
|
||||
>6) `sudo systemctl restart apache2`
|
||||
|
||||
Если всё корректно, то выполняем команду перезапуска apache сервера
|
||||
`sudo systemctl restart apache2`
|
||||
|
||||
## Step 6. Установка сертификатов на домен
|
||||
|
||||
**Для установки выполните команду**
|
||||
`sudo apt update`
|
||||
`sudo apt install certbot python3-certbot-apache`
|
||||
|
||||
После установки используем certbote под apache2
|
||||
`sudo certbot --apache`
|
||||
Если требуется указываем номер требуемого домена, если же хотим подтянуть ssl сертификаты ко всем доменам из списка, жмём enter
|
||||
![[Pasted image 20240916160825.png]]
|
||||
|
||||
## Step 6. Указание данных пользователя и данных пользователя
|
||||
![[Pasted image 20240917121754.png]]
|
||||
|
||||
>[!Success] Чтобы свериться с данными в базе mariadb нужно:
|
||||
>1) Войти в Mariadb
|
||||
>`sudo mariadb`
|
||||
>2) Посмотреть Какие у нас есть базы
|
||||
> `SHOW DATABASES;`
|
||||
>3) Теперь нужно посмотреть всех пользователей в базе данных
|
||||
>`SELECT User, Host FROM mysql.user;`
|
||||
>4) Осталось проверить права и все данные о пользователе
|
||||
>`SHOW GRANTS FOR 'username'@'localhost';`
|
||||
>>[!warning] Измени USER на нужное имя!
|
||||
|
||||
>[!Example] Пример
|
||||
>
|
||||
![[Pasted image 20240917122810.png]]
|
||||
>
|
||||
>>[!Warning] **На изображении видно**:
|
||||
>
|
||||
>- **Имя базы данных**: Ваша база данных называется `nextcloud`.
|
||||
>- **Пользователь базы данных**: Пользователь с именем `Stitch505` имеет >полный доступ к базе данных `nextcloud`.
|
||||
>- **Хост**: Пользователь подключается с хоста `localhost`.
|
||||
> Так что ваша база данных называется `nextcloud`, а пользователь базы данных — `Stitch505`, с хостом `localhost`.
|
||||
|
||||
>[!warning]
|
||||
>ссылка на оригинальный сайт `https://www.rosehosting.com/blog/how-to-install-nextcloud-on-ubuntu-24-04/`
|
||||
47
2. Проекты/Nextcloud/2. Ошибки NC/Исправление ошибок.md
Normal file
@@ -0,0 +1,47 @@
|
||||
>[!Bug] **The PHP memory limit is below the recommended value of 512 MB**
|
||||
>1) Открываем файл php `sudo nano /etc/php/8.3/apache2/php.ini`
|
||||
>2) Нажимаем ctrl+w и пишем `memory`, затем нажимаем `enter`
|
||||
> ![[Pasted image 20240917124700.png]]
|
||||
> Указываем в поле `memory_limit =` 528M
|
||||
>3) Сохраняем ctrl+x->y->enter
|
||||
>4) перезапускаем apache `sudo systemctl restart apache2`
|
||||
|
||||
>[!Bug] **Настройка окна обслуживания сервера**
|
||||
>1) **Включение режима обслуживания:**
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on`
|
||||
>>[!Warning] Во время тех обслуживания сайт не будет доступен!!!
|
||||
>2) **Обновите базу данных и выполните необходимые исправления**
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ upgrade`
|
||||
> `sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair`
|
||||
>3) Выход из режима обслуживания
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off`
|
||||
|
||||
>[!Bug] **Добавление недостающих индексов**
|
||||
>Команда:
|
||||
>`sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices`
|
||||
|
||||
>[!Bug] **Настройка PHP OPcache**
|
||||
>1) Открытие файла PHP
|
||||
>`sudo nano /etc/php/8.3/apache2/php.ini`
|
||||
>2) Поиск строки opcache.enable=1
|
||||
>ctrl+w -> opcache.enable=1 -> enter
|
||||
>Затем, после строки opcache.enable=1 нужно внести код:
|
||||
>`opcache.interned_strings_buffer=8 opcache.memory_consumption=128`
|
||||
>`opcache.max_accelerated_files=10000 opcache.revalidate_freq=1` `opcache.save_comments=1`
|
||||
>Должно выглядеть вот так ![[Pasted image 20240917132005.png]]
|
||||
>3) Затем просто перезапускаем apache
|
||||
> `sudo systemctl restart apache2`
|
||||
|
||||
>[!Bug] **Strict-Transport-Security**
|
||||
>1) нужно открыть файл sudo nano `nextcloud-le-ssl.conf`
|
||||
>`sudo nano /etc/apache2/sites-available/nextcloud-le-ssl.conf`
|
||||
>2) Добавить после ssl следующей строкой код:
|
||||
>`Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"`
|
||||
>Должно быть так ![[Pasted image 20240917133023.png]]
|
||||
>3) Проверка что модуль включён
|
||||
>`sudo a2enmod headers`
|
||||
>4) Перезапускаем Apache:
|
||||
>`sudo systemctl restart apache2`
|
||||
|
||||
|
||||
|
||||
11
2. Проекты/Nextcloud/3. LAMP_STACK/LAMP стек.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2 align=center> Совершаем установку пошагово (1,2,3) </h2>
|
||||
|
||||
>[!example]
|
||||
> [[LAMP apache2]]
|
||||
> [[LAMP mariadb]]
|
||||
> [[LAMP PHP8.3]]
|
||||
|
||||
|
||||
|
||||
>[!warning] Теперь возвращаемся в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
<h2 align=center> Установка PHP8.3 вместе с его расширениями </h2>
|
||||
|
||||
Чтобы установить PHP8.3, выполните команду ниже:
|
||||
`sudo apt install php8.3 libapache2-mod-php php8.3-common php8.3-cli php8.3-mbstring php8.3-bcmath php8.3-fpm php8.3-mysql php8.3-zip php8.3-gd php8.3-curl php8.3-xml -y`
|
||||
|
||||
После установки вы можете проверить версию PHP с помощью команды ниже:
|
||||
`php -v`
|
||||
>[!tip] Будет получен примерно такой результат
|
||||
![[Pasted image 20240916132724.png]]
|
||||
|
||||
>[!warning] Установил? Вернись в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
|
||||
>[!quote] Переходы:
|
||||
>[[LAMP apache2]]
|
||||
>[[LAMP mariadb]]
|
||||
@@ -0,0 +1,15 @@
|
||||
Чтобы установить Apache, выполните следующую команду:
|
||||
`sudo apt install apache2 -y`
|
||||
После установки запустите и включите службу:
|
||||
`sudo systemctl start apache2 && sudo systemctl enable apache2`
|
||||
проверьте статус услуги:
|
||||
`sudo systemctl status apache2`
|
||||
>[!tip] Будет выведено схожее:
|
||||
>![[Pasted image 20240916131002.png]]
|
||||
|
||||
>[!info] Переходы в подтемы:
|
||||
>**Next_install** [[LAMP mariadb]]
|
||||
>**Last_install** [[LAMP PHP8.3]]
|
||||
|
||||
>[!warning] [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
Далее мы установим сервер базы данных MariaDB. Выполните команду ниже:
|
||||
`sudo apt install mariadb-server -y`
|
||||
После установки сервера MariaDB нам нужно запустить и включить службу:
|
||||
`sudo systemctl start mariadb && sudo systemctl enable mariadb`
|
||||
Чтобы проверить статус службы, выполните следующую команду:
|
||||
`sudo systemctl status mariadb`
|
||||
>[!tip] Будет вывод подобный этому
|
||||
>![[Pasted image 20240916131747.png]]
|
||||
|
||||
>[!info] Переходы:
|
||||
>**Last_install** [[LAMP PHP8.3]]
|
||||
|
||||
>[!warning] [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
17
2. Проекты/Nextcloud/4. Cache/Virtual_host.md
Normal file
@@ -0,0 +1,17 @@
|
||||
<VirtualHost *:80>
|
||||
DocumentRoot "/var/www/html/nextcloud"
|
||||
ServerName YOUR_DOMEN
|
||||
|
||||
ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
|
||||
CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
|
||||
|
||||
<Directory /var/www/html/nextcloud/>
|
||||
Require all granted
|
||||
Options FollowSymlinks MultiViews
|
||||
AllowOverride All
|
||||
</Directory> <!-- Добавлено закрытие тега </Directory> -->
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
>[!int] Возврат в [[1. Установка и настройка Nextcloud]]
|
||||
|
||||
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,68 @@
|
||||
<<<<<<< HEAD
|
||||
#
|
||||
<FilesMatch "^\.ht">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
|
||||
#
|
||||
# The following directives define some format nicknames for use with
|
||||
# a CustomLog directive.
|
||||
#
|
||||
# These deviate from the Common Log Format definitions in that they use %O
|
||||
# (the actual bytes sent including headers) instead of %b (the size of the
|
||||
# requested file), because the latter makes it impossible to detect partial
|
||||
# requests.
|
||||
#
|
||||
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
|
||||
# Use mod_remoteip instead.
|
||||
#
|
||||
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O" common
|
||||
LogFormat "%{Referer}i -> %U" referer
|
||||
LogFormat "%{User-agent}i" agent
|
||||
|
||||
# Include of directories ignores editors' and dpkg's backup files,
|
||||
# see README.Debian for details.
|
||||
|
||||
# Include generic snippets of statements
|
||||
IncludeOptional conf-enabled/*.conf
|
||||
|
||||
# Include the virtual host configurations:
|
||||
IncludeOptional sites-enabled/*.conf
|
||||
=======
|
||||
#
|
||||
<FilesMatch "^\.ht">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
|
||||
#
|
||||
# The following directives define some format nicknames for use with
|
||||
# a CustomLog directive.
|
||||
#
|
||||
# These deviate from the Common Log Format definitions in that they use %O
|
||||
# (the actual bytes sent including headers) instead of %b (the size of the
|
||||
# requested file), because the latter makes it impossible to detect partial
|
||||
# requests.
|
||||
#
|
||||
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
|
||||
# Use mod_remoteip instead.
|
||||
#
|
||||
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %O" common
|
||||
LogFormat "%{Referer}i -> %U" referer
|
||||
LogFormat "%{User-agent}i" agent
|
||||
|
||||
# Include of directories ignores editors' and dpkg's backup files,
|
||||
# see README.Debian for details.
|
||||
|
||||
# Include generic snippets of statements
|
||||
IncludeOptional conf-enabled/*.conf
|
||||
|
||||
# Include the virtual host configurations:
|
||||
IncludeOptional sites-enabled/*.conf
|
||||
>>>>>>> 77abb6a0bf9452daf6706798b3a3b4cdd4d5f8a2
|
||||
ServerName stich.fun
|
||||
BIN
2. Проекты/OBSIDIAN.rar
Normal file
13
2. Проекты/OBSIDIAN/Bash windows install/BASH.md
Normal file
@@ -0,0 +1,13 @@
|
||||
[[Busybox]] - файл exe
|
||||
>[!warning]
|
||||
>1) Создать в папке C:\Program Files\ папку с названием Busybox
|
||||
>2) скачать вложенный [[Busybox]]
|
||||
>3) перекинуть файл в папку C:\Program Files\Busybox
|
||||
>4) открыть terminal (cmd), нажать на галочку->Settings-> Создать новую запись -![[Pasted image 20240916003202.png]]
|
||||
>5) в Name записать Bash ![[Pasted image 20240916003303.png]]
|
||||
>6) в Command line прописать путь `C:/Program Files/Busybox/busybox64.exe bash`![[Pasted image 20240916003331.png]]
|
||||
>7) Нажать save
|
||||
|
||||
>[!warning] Ссылка на главную тему
|
||||
>[[Синхронизация PC]]
|
||||
|
||||
29
2. Проекты/OBSIDIAN/Синхронизация Mobile.md
Normal file
@@ -0,0 +1,29 @@
|
||||
>[!tip] Настройка синхронизации в мобилке
|
||||
>### Setup
|
||||
|
||||
- Установить [Termux](https://gist.github.com/Makeshift/43c7ecb3f1c28a623ea4386552712114)
|
||||
- Открыть **Termux**, использовать `termux-change-repo`. Press the ↓ button and press spacebar to tick all repositories, then press enter to move to the next screen
|
||||
- Нажать Enter - выбрать `Mirror` - выбрать 1 пункт (самый верхний)
|
||||
- Выполнить команду `pkg install git -y`
|
||||
- Выполнить команду `termux-setup-storage`
|
||||
- Выполнить команду `cd storage/shared` (Не пригодилось, но может пригодиться, если будут ошибки [this page](https://wiki.termux.com/wiki/Termux-setup-storage))
|
||||
- Выполнить команду `git config --global credential.helper store`
|
||||
- Выполнить команду `git config --global user.email "<your_email>"` (указать email из личного git)
|
||||
- Выполнить команду `git config --global user.name "<The name you want on your commits>"` (Указывается свой ник из git(ea) (Stitch505)
|
||||
- Выполнить команду `git config --global pull.rebase true`
|
||||
- Выполнить команду `git clone <your repository>`(Требуется указать полную ссылку на коммит в git (нужно зайти в репозиторий и под тегами взять полную ссылку нажать enter + указать свой логин . Также может потребоваться персональный токен [personal access token](https://github.com/settings/tokens).
|
||||
- Установить и открыть [[Ссылки]]
|
||||
- Открыть папку куда было сделано синхронизация
|
||||
- Зайти в настройки obsidian -> настройки -> git ->authentication/commit author и заполнить 4 поля
|
||||
>[!info] ГДЕ:
|
||||
>- 1 поле) Указывается username из obsidian
|
||||
>- 2 поле) Указывается пароль или [токен](https://github.com/settings/tokens)
|
||||
>- 3 поле) Указывается Никнейм Автора коммита ( Stitch505 т.к. ты его создатель
|
||||
>- 5 поле) Указывается email от коммита (Свой еmail посмотреть в git)
|
||||
- Выставить тайминг в полях:
|
||||
>[!info]
|
||||
>Automatic-> Vault backup (Число)
|
||||
>Auto pull interval (Число)
|
||||
|
||||
> [!quote] Взято из [источника](https://gist.github.com/Makeshift/43c7ecb3f1c28a623ea4386552712114)
|
||||
|
||||
53
2. Проекты/OBSIDIAN/Синхронизация PC.md
Normal file
@@ -0,0 +1,53 @@
|
||||
<h2 align=center> Установка Git+ bash и настройка PC </h2>
|
||||
|
||||
1. Установить [Git](https://git-scm.com/download/win)
|
||||
2. Проверить что git установлен командой ```git —version```
|
||||
3. На PC нужно создать новую директорию в компьютере (папку)
|
||||
4. Устанавливаем [[BASH]]
|
||||
5. Открываем [[BASH]]
|
||||
- Открываем `windows terminal` (терминал) - Win 10
|
||||
- Открываем `power shell` (win 11)
|
||||
1. Переходим в баше в папку из пункта **3** `cd Путь_до_папки` пример `cd D:/OBSIDIAN/MY`
|
||||
2. В [[Gitea]] нужно создать новый репозиторий
|
||||
![[Pasted image 20240916001058.png]]
|
||||
В окне клонирования репозитория используем команды в окне bash
|
||||
```bash
|
||||
touch README.md
|
||||
git init
|
||||
git checkout -b main
|
||||
git add README.md
|
||||
git commit -m "first commit"
|
||||
```
|
||||
Затем используем команду `git pull --allow-unrelated-histories` (Команда откроет Git для авторизации)
|
||||
>[!warning] Указываем учётные данные из [[Gitea]] (логин и пароль)
|
||||
|
||||
Затем указываем оставшиеся команды:
|
||||
```bash
|
||||
git remote add origin https://gitea.stitch505.su:3000/Stitch505/OBS.git
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
<h2 align=center> Если изменилась ссылка на репозиторий </h2>
|
||||
|
||||
В [[BASH]] использовать команду `git remote set-url origin (ссылка`)
|
||||
Пример:
|
||||
`git remote set-url origin https://gitea.stitch505.su:3000/Stitch505/OBS.git`
|
||||
|
||||
<h2 align=center> Плагин гит в Obsidian </h2>
|
||||
|
||||
1. Открыть настройки -> сторонние плагины -> Плагины сообщества -> git -> Установить
|
||||
2. Открыть настройки GIT
|
||||
3. Указать таймеры в полях `Vault backup interval (minutes)` и `Auto pull interval (minutes)` (у меня 5 минут)
|
||||
4. Указать в поле `Commit message on auto backup/commit` Auto base sync: {{date}}
|
||||
5. Указать в поле `Commit message on manual backup/commit` Base sync backup: {{date}}
|
||||
6. Включить функцию `Pull updates on startup`
|
||||
|
||||
>[!caution] (Ошибка obsidian) Cannot run git command set
|
||||
Решение: win+r -> sysdm.cpl
|
||||
> Дополнительно -> переменные среды
|
||||
> Системные среды -> Path -> изменить -> создать:
|
||||
> Указать C:\Program Files\Git\cmd" и нажать ОК ->ОК ->OK
|
||||
|
||||
>[!caution] ИЛИ
|
||||
>в cmd использовать команду set PATH=%PATH%;"C:\Program Files\Git\cmd"
|
||||
|
||||
2
2. Проекты/OBSIDIAN/Ссылки.md
Normal file
@@ -0,0 +1,2 @@
|
||||
1. [[Синхронизация PC]]
|
||||
2. [[Синхронизация Mobile]]
|
||||
@@ -0,0 +1,12 @@
|
||||
## Вариант 1. установка по скрипту
|
||||
|
||||
>[!Bug] **Использовать код**
|
||||
>`bash <(wget --no-check-certificate -O - https://gist.githubusercontent.com/Stich505/50104e1d672873e9fcbde0b1656f7974/raw/f370333e62c658271483b77cedcc45bb1adacfa0/gistfile.txt)`
|
||||
|
||||
## Вариант 2. установка из файла
|
||||
|
||||
>[!example]
|
||||
>1) **Нужно закинуть файл из [[СМОТРИ ФАЙЛ]] в любое место на Linux**
|
||||
>2) **Нужно перейти в это место через `cd __`**
|
||||
>3) **использовать команду `sudo chmod +x ./installer-marzban.sh && ./installer-marzban.sh`**
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
systemctl disable --now unattended-upgrades
|
||||
|
||||
apt update -y
|
||||
apt install curl net-tools iftop nload cron socat -y
|
||||
apt autoremove --purge snapd -y
|
||||
|
||||
# Clean journal logs
|
||||
journalctl --vacuum-size=5M
|
||||
journalctl --verify
|
||||
sed -i -e "s/#SystemMaxUse=/SystemMaxUse=5M/g" /etc/systemd/journald.conf
|
||||
sed -i -e "s/#SystemMaxFileSize=/SystemMaxFileSize=1M/g" /etc/systemd/journald.conf
|
||||
sed -i -e "s/#SystemMaxFiles=100/SystemMaxFiles=5/g" /etc/systemd/journald.conf
|
||||
systemctl daemon-reload
|
||||
systemctl restart systemd-journald
|
||||
sleep 1
|
||||
|
||||
|
||||
|
||||
#### ENABLE BBRv2
|
||||
enable_bbr() {
|
||||
echo -e "${blue}Enable BBR${clear}"
|
||||
if [[ ! "$(sysctl net.core.default_qdisc)" == *"= fq" ]]
|
||||
then
|
||||
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
|
||||
fi
|
||||
if [[ ! "$(sysctl net.ipv4.tcp_congestion_control)" == *"bbr" ]]
|
||||
then
|
||||
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
|
||||
fi
|
||||
}
|
||||
enable_bbr
|
||||
|
||||
|
||||
|
||||
### WARP INSTALL on UBUNTU - 127.0.0.1:40000
|
||||
bash <(curl -fsSL checkvpn.net/files/warp.sh) proxy
|
||||
|
||||
|
||||
|
||||
# IP VPS
|
||||
IPVPS=`ip addr show $ETH | grep global | sed -En -e 's/.*inet ([0-9.]+).*/\1/p' | head -n1`
|
||||
|
||||
|
||||
# Download env and fix pass.
|
||||
cd /root/
|
||||
curl -sL "https://checkvpn.net/files/.env.example" -o .env.example
|
||||
cp -r .env.example env_marzban
|
||||
|
||||
|
||||
# random password with 16 symbols
|
||||
PASSMARZBAN=`openssl rand -hex 16`
|
||||
|
||||
# random port from
|
||||
RANDPORT=`echo $(( ( RANDOM % 65535 ) + 1025 ))`
|
||||
|
||||
# get email
|
||||
read -p "Введите вашу почту(admin@example.com): " EMAIL
|
||||
|
||||
curl https://get.acme.sh | sh -s email=$EMAIL
|
||||
|
||||
|
||||
# get domain
|
||||
read -p "Введите имя домена (example.com): " DOMAIN
|
||||
|
||||
|
||||
mkdir -p /var/lib/marzban/certs/
|
||||
|
||||
|
||||
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d $DOMAIN \
|
||||
--key-file /var/lib/marzban/certs/key.pem \
|
||||
--fullchain-file /var/lib/marzban/certs/fullchain.pem
|
||||
|
||||
sed -i '1d' env_marzban
|
||||
sed -i '1d' env_marzban
|
||||
|
||||
sed -i -e '1iUVICORN_PORT = "'$RANDPORT'" ' env_marzban
|
||||
sed -i -e '1iUVICORN_HOST = "'$DOMAIN'" ' env_marzban
|
||||
sed -i -e '1iXRAY_SUBSCRIPTION_URL_PREFIX = "https://'$DOMAIN':'$RANDPORT'" ' env_marzban
|
||||
|
||||
sed -i -e '1iSUDO_PASSWORD = "'$PASSMARZBAN'" ' env_marzban
|
||||
sed -i -e '1iSUDO_USERNAME = "marzban" ' env_marzban
|
||||
|
||||
sed -i -e '1iUVICORN_SSL_CERTFILE = "'/var/lib/marzban/certs/fullchain.pem'" ' env_marzban
|
||||
sed -i -e '1iUVICORN_SSL_KEYFILE = "'/var/lib/marzban/certs/key.pem'" ' env_marzban
|
||||
|
||||
|
||||
|
||||
# install marzban with fixed .env
|
||||
bash -c "$(curl -sL https://checkvpn.net/files/marzban2.sh)" @ install
|
||||
|
||||
|
||||
sleep 1
|
||||
echo "------------------------------------------"
|
||||
echo "WEB interface Marzban IP: https://"$DOMAIN":"$RANDPORT"/dashboard/login"
|
||||
echo "WEB interface Marzban login: marzban"
|
||||
echo "WEB interface Marzban password:" $PASSMARZBAN
|
||||
|
||||
sleep 10
|
||||
marzban restart
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
>[!bug] **Возврат в статью**
|
||||
>[[1. Скрипт установки VPN]]
|
||||
@@ -0,0 +1,79 @@
|
||||
>[!Example]- **Установка Marzban, создание админа и открытие панели**
|
||||
> Установить marzban нужно командой:
|
||||
> `sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install`
|
||||
> >[!Bug] этой командой идёт установка **LAST** версии `marzban`
|
||||
>
|
||||
> **После установки Marzban, нужно установить пользователя **
|
||||
>
|
||||
> >[!Todo] Создание админа и его пароля производится командой:
|
||||
>>`marzban cli admin create --sudo`
|
||||
>>Указываете (Name_user) -> enter
|
||||
>>Указываете (Password) -> enter
|
||||
>>Указываете 2 раз тот же (Password) -> enter
|
||||
>>>[!warning] Остальное можно просто скипнуть нажав enter
|
||||
>
|
||||
>Установка завершена, открыть панель можно по пути:
|
||||
>`http://YOUR_SERVER_IP:8000/dashboard/`
|
||||
>Для входа укажите созданные вами login и password
|
||||
|
||||
>[!Danger]+ **С момента создания протокола и до момента, пока не будут отредактированы важные файлы, marzban НЕ ДАСТ сохранить конфигурацию, это нормальное поведение!!**
|
||||
|
||||
|
||||
>[!Example]- **Создание VLESS протокола**
|
||||
> 1) нужно находясь в панели открыть основные настройки:
|
||||
>![[Pasted image 20241006120520.png]]
|
||||
>**Теперь нам нужно опустится до строки** `inbound`
|
||||
![[Pasted image 20241006121617.png]]
|
||||
> Нажимаем enter и вставляем [[Vless-код]], как это должно выглядеть смотрите ниже:
|
||||
> ![[vivaldi_lH5qIAPZ2n.gif]]
|
||||
|
||||
>[!Example]- **Поиск подходящего сайта**
|
||||
>Нам нужно найти сайт у которого: `минимальный пинг, tls 1.3, сайт не за CDN сервисом`
|
||||
>
|
||||
>**для поиска подходящего сайта открываем две новых вкладки в браузере с гугл поиском где:**
|
||||
**1 вкладка** - Пишем в поисковой строке `site:nl` (`NL` заменить нужной страной)
|
||||
> 1) После загрузки запроса будут выведены сайты нужной нам страны.
|
||||
> 2) Открываем сайты **и копируем из ссылки ТОЛЬКО доменную часть**
|
||||
>
|
||||
>**2 вкладка** Открываем сайт `https://www.cdn77.com/tls-test` и вставляем скопированный домен из *1 вкладки* -> нажимаем _Enter_ и ждем когда прогрузятся данные
|
||||
>
|
||||
> После загрузки данных мы видим данные о `tls и ssl У сайта` в конечном итоге данные должны выглядеть вот так:
|
||||
> ![[Pasted image 20241006123927.png]]
|
||||
>
|
||||
>Теперь нужно проверить пинг от нас до сайта, в консоли вашего сервера пишем:
|
||||
>`ping npo.nl` -> enter
|
||||
>>[!Warning] достаточно 10 запросов чтобы понять отклик в миллисекундах, затем нажимаем `CTRL+C` для остановки запросов к сайту
|
||||
>
|
||||
>в конечном итоге на экране консоли будет выдана такая информация:
|
||||
>![[Pasted image 20241006125142.png]]
|
||||
>
|
||||
>>[!Info] На примере скриншота видно, что пинг огромный, а значит нужно продолжать искать сайт с подходящими условиями и минимальным пингом
|
||||
|
||||
>[!Example]- **Внесение домена найденного сайта с соответствующими требованиями**
|
||||
>
|
||||
>**Когда нужный сайт найден, возвращаемся в основные настройки и указываем в полях:**
|
||||
>`dest` домен сервера:443
|
||||
>`serverNames` домен сервера
|
||||
>**Итоговый пример** ![[Pasted image 20241006125744.png]]
|
||||
|
||||
>[!Example]- **Генерация ключей шифрования и параметра shortIds и внесения в панель**
|
||||
>осуществляется командами:
|
||||
> `docker exec marzban-marzban-1 xray x25519`
|
||||
>`openssl rand -hex 8`
|
||||
>После генерации данных нужно их также внести в панель марзбана в поля:
|
||||
>`privateKey`
|
||||
>`shordlds`
|
||||
>Итоговый пример ![[Pasted image 20241006130325.png]]
|
||||
>
|
||||
>**Теперь нажимаем сохранить и перезапустить ядро + обновляем страницу**
|
||||
|
||||
|
||||
|
||||
|
||||
>[!note] **Переходы:
|
||||
> [[2. Создание сертификатов и их внесение в marzban]]**
|
||||
|
||||
|
||||
|
||||
>[!Danger] [Оригинал инструкция](https://habr.com/ru/articles/771892/)
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
>[!Tip]- **Установка socat и cron:**
|
||||
`apt install cron socat`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
>[!tip]- **Устанавливаем acme.sh**
|
||||
>>[!Bug] EMAIL = Это ваш email
|
||||
> `curl https://get.acme.sh | sh -s email=EMAIL`
|
||||
>sdfsdf
|
||||
|
||||
>[!tip]- **Создание директории для сертификатов**
|
||||
>`mkdir -p /var/lib/marzban/certs/`
|
||||
|
||||
>[!Tip]+ Получение сертификата
|
||||
>>[!Danger] Введите ваш домен или субдомен в поле `DOMAIN`
|
||||
>>**Ниже 1 единая команда!!!**
|
||||
>
|
||||
|
||||
```
|
||||
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN \
|
||||
--key-file /var/lib/marzban/certs/key.pem \
|
||||
--fullchain-file /var/lib/marzban/certs/fullchain.pem
|
||||
```
|
||||
|
||||
Проверить список выпущенных сертификатов можно командой:
|
||||
```
|
||||
~/.acme.sh/acme.sh --list
|
||||
```
|
||||
|
||||
|
||||
>[!Tip]- **Редактирование данных в файле .env**
|
||||
>После создания сертификатов, нужно отредактировать файл
|
||||
>1) Открываем файл командой:
|
||||
>2) `nano /opt/marzban/.env
|
||||
>Делаем изменения в полях:
|
||||
>1) `UVICORN_PORT = 443`
|
||||
>2) `UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"`
|
||||
>3) `UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"`
|
||||
>4) `XRAY_SUBSCRIPTION_URL_PREFIX` = https://YOUR_DOMAIN (Ковычки удаляем)
|
||||
>5) *Пример ниже, красное как было, зеленое как стало*
|
||||
>![[Pasted image 20241006133752.png]]
|
||||
|
||||
После редактирования нужно перезапустить марзбан командой:
|
||||
`sudo marzban restart`
|
||||
|
||||
|
||||
|
||||
|
||||
>[!Note] Переход в [[1. Установка и настройка]]
|
||||
|
After Width: | Height: | Size: 306 KiB |
@@ -0,0 +1 @@
|
||||
![[vivaldi_lH5qIAPZ2n.gif]]
|
||||
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"tag": "VLESS TCP REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 443,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "заменить:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"заменить"
|
||||
],
|
||||
"privateKey": "заменить",
|
||||
"shortIds": [
|
||||
"заменить"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls",
|
||||
"quic"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 64 KiB |
@@ -0,0 +1,12 @@
|
||||
## Вариант 1. установка по скрипту
|
||||
|
||||
>[!Bug] **Использовать код**
|
||||
>`bash <(wget --no-check-certificate -O - https://gist.githubusercontent.com/Stich505/50104e1d672873e9fcbde0b1656f7974/raw/f370333e62c658271483b77cedcc45bb1adacfa0/gistfile.txt)`
|
||||
|
||||
## Вариант 2. установка из файла
|
||||
|
||||
>[!example]
|
||||
>1) **Нужно закинуть файл из [[СМОТРИ ФАЙЛ]] в любое место на Linux**
|
||||
>2) **Нужно перейти в это место через `cd __`**
|
||||
>3) **использовать команду `sudo chmod +x ./installer-marzban.sh && ./installer-marzban.sh`**
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
>[!Example]- **Установка Marzban, создание админа и открытие панели**
|
||||
> Установить marzban нужно командой:
|
||||
> `sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install`
|
||||
> >[!Bug] этой командой идёт установка **LAST** версии `marzban`
|
||||
>
|
||||
> **После установки Marzban, нужно установить пользователя **
|
||||
>
|
||||
> >[!Todo] Создание админа и его пароля производится командой:
|
||||
>>`marzban cli admin create --sudo`
|
||||
>>Указываете (Name_user) -> enter
|
||||
>>Указываете (Password) -> enter
|
||||
>>Указываете 2 раз тот же (Password) -> enter
|
||||
>>>[!warning] Остальное можно просто скипнуть нажав enter
|
||||
>
|
||||
>Установка завершена, открыть панель можно по пути:
|
||||
>`http://YOUR_SERVER_IP:8000/dashboard/`
|
||||
>Для входа укажите созданные вами login и password
|
||||
|
||||
>[!Danger]+ **С момента создания протокола и до момента, пока не будут отредактированы важные файлы, marzban НЕ ДАСТ сохранить конфигурацию, это нормальное поведение!!**
|
||||
|
||||
|
||||
>[!Example]- **Создание VLESS протокола**
|
||||
> 1) нужно находясь в панели открыть основные настройки:
|
||||
>![[Pasted image 20241006120520.png]]
|
||||
>**Теперь нам нужно опустится до строки** `inbound`
|
||||
![[Pasted image 20241006121617.png]]
|
||||
> Нажимаем enter и вставляем [[Vless-код]], как это должно выглядеть смотрите ниже:
|
||||
> ![[vivaldi_lH5qIAPZ2n.gif]]
|
||||
|
||||
>[!Example]- **Поиск подходящего сайта**
|
||||
>Нам нужно найти сайт у которого: `минимальный пинг, tls 1.3, сайт не за CDN сервисом`
|
||||
>
|
||||
>**для поиска подходящего сайта открываем две новых вкладки в браузере с гугл поиском где:**
|
||||
**1 вкладка** - Пишем в поисковой строке `site:nl` (`NL` заменить нужной страной)
|
||||
> 1) После загрузки запроса будут выведены сайты нужной нам страны.
|
||||
> 2) Открываем сайты **и копируем из ссылки ТОЛЬКО доменную часть**
|
||||
>
|
||||
>**2 вкладка** Открываем сайт `https://www.cdn77.com/tls-test` и вставляем скопированный домен из *1 вкладки* -> нажимаем _Enter_ и ждем когда прогрузятся данные
|
||||
>
|
||||
> После загрузки данных мы видим данные о `tls и ssl У сайта` в конечном итоге данные должны выглядеть вот так:
|
||||
> ![[Pasted image 20241006123927.png]]
|
||||
>
|
||||
>Теперь нужно проверить пинг от нас до сайта, в консоли вашего сервера пишем:
|
||||
>`ping npo.nl` -> enter
|
||||
>>[!Warning] достаточно 10 запросов чтобы понять отклик в миллисекундах, затем нажимаем `CTRL+C` для остановки запросов к сайту
|
||||
>
|
||||
>в конечном итоге на экране консоли будет выдана такая информация:
|
||||
>![[Pasted image 20241006125142.png]]
|
||||
>
|
||||
>>[!Info] На примере скриншота видно, что пинг огромный, а значит нужно продолжать искать сайт с подходящими условиями и минимальным пингом
|
||||
|
||||
>[!Example]- **Внесение домена найденного сайта с соответствующими требованиями**
|
||||
>
|
||||
>**Когда нужный сайт найден, возвращаемся в основные настройки и указываем в полях:**
|
||||
>`dest` домен сервера:443
|
||||
>`serverNames` домен сервера
|
||||
>**Итоговый пример** ![[Pasted image 20241006125744.png]]
|
||||
|
||||
>[!Example]- **Генерация ключей шифрования и параметра shortIds и внесения в панель**
|
||||
>осуществляется командами:
|
||||
> `docker exec marzban-marzban-1 xray x25519`
|
||||
>`openssl rand -hex 8`
|
||||
>После генерации данных нужно их также внести в панель марзбана в поля:
|
||||
>`privateKey`
|
||||
>`shordlds`
|
||||
>Итоговый пример ![[Pasted image 20241006130325.png]]
|
||||
>
|
||||
>**Теперь нажимаем сохранить и перезапустить ядро + обновляем страницу**
|
||||
|
||||
|
||||
|
||||
|
||||
>[!note] **Переход в [[Создание сертификатов и их внесение в marzban]]**
|
||||
|
||||
|
After Width: | Height: | Size: 306 KiB |
@@ -0,0 +1 @@
|
||||
![[vivaldi_lH5qIAPZ2n.gif]]
|
||||
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,31 @@
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "WARP",
|
||||
"protocol": "wireguard",
|
||||
"settings": {
|
||||
"secretKey": "Ваш_Параметр1",
|
||||
"DNS": "1.1.1.1",
|
||||
"address": [ "172.16.0.2/32",
|
||||
"Ваш_Параметр2"
|
||||
],
|
||||
"peers": [
|
||||
{
|
||||
"publicKey": "Ваш_Параметр3",
|
||||
"endpoint": "engage.cloudflareclient.com:2408"
|
||||
}
|
||||
],
|
||||
"kernelMode": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "DIRECT"
|
||||
},
|
||||
{
|
||||
"protocol": "blackhole",
|
||||
"tag": "BLOCK"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Тут смотреть в коде на **Ваш_Параметр** и менять на **свои**
|
||||
@@ -0,0 +1,30 @@
|
||||
```json
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"outboundTag": "WARP",
|
||||
"domain": [
|
||||
"geosite:google",
|
||||
"geosite:openai"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"domain": [
|
||||
"full:cp.cloudflare.com",
|
||||
"domain:msftconnecttest.com",
|
||||
"domain:msftncsi.com",
|
||||
"domain:connectivitycheck.gstatic.com",
|
||||
"domain:captive.apple.com",
|
||||
"full:detectportal.firefox.com",
|
||||
"domain:networkcheck.kde.org",
|
||||
"full:*.gstatic.com"
|
||||
],
|
||||
"type": "field"
|
||||
}
|
||||
]
|
||||
},
|
||||
```
|
||||
он уже **готовый** и вставляется ниже строки **"routing": {**
|
||||
![[Pasted image 20241007062448.png]]
|
||||
@@ -0,0 +1,37 @@
|
||||
```
|
||||
{
|
||||
"tag": "VLESS TCP REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 443,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "заменить:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"заменить"
|
||||
],
|
||||
"privateKey": "заменить",
|
||||
"shortIds": [
|
||||
"заменить"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls",
|
||||
"quic"
|
||||
]
|
||||
}
|
||||
},
|
||||
```
|
||||
@@ -0,0 +1,46 @@
|
||||
>[!Example]- Создание конфига WireGuard для ВАРПА
|
||||
> 1. Установим WARP Командой
|
||||
>```
|
||||
>wget https://github.com/ViRb3/wgcf/releases/download/v2.2.22/wgcf_2.2.22_linux_amd64
|
||||
>```
|
||||
>2. Перемещаем скачанный файл в /usr/bin и меняем его имя на wgcf
|
||||
>**(тупо скопируй команду и вставь)**
|
||||
>```
|
||||
>mv wgcf_2.2.22_linux_amd64 /usr/bin/wgcf && chmod +x /usr/bin/wgcf
|
||||
>```
|
||||
>3. Генерируем конфиг Варпа
|
||||
>**(тупо скопируй команду и вставь)**
|
||||
>```
|
||||
wgcf register
|
||||
wgcf generate
|
||||
>```
|
||||
|
||||
>[!Example]- Получаем Warp+
|
||||
>1. Заходим в тг бота — https://t.me/generatewarpplusbot
|
||||
> ![[Pasted image 20241007055150.png]]
|
||||
>2. Вставляем ключ
|
||||
>```
|
||||
nano wgcf-account.toml
|
||||
>```
|
||||
![[Pasted image 20241007055447.png]]
|
||||
>3. Затем обновляем конфиг Варпа
|
||||
>```
|
||||
wgcf update
|
||||
wgcf generate
|
||||
>```
|
||||
|
||||
> [!example]- Активация WARP+ в Marzban
|
||||
>
|
||||
>1. Заходим в конфиг Варпа и добавляем его в Веб-марзбан
|
||||
>```
|
||||
nano wgcf-profile.conf
|
||||
>```
|
||||
>![[Pasted image 20241007060414.png]]
|
||||
> 2. В настройках Веб-Марза нужно найти строку **"outbounds": [**
|
||||
>- вставляем туда [[Outbound Warp]] (только свои данные вставить)
|
||||
>> [!warning]- Да, я тупой и не понял, что и куда копировать
|
||||
>![[Pasted image 20241007060820.png]]
|
||||
>
|
||||
>3. Вставить правила в Веб-Марз
|
||||
>- Перейти и вставить [[Rules Marzban]]
|
||||
(>тут все готово и только вставить)
|
||||
@@ -0,0 +1,53 @@
|
||||
>[!Tip]- **Установка socat и cron:**
|
||||
`apt install cron socat`
|
||||
|
||||
>[!tip]- **Устанавливаем acme.sh**
|
||||
>>[!Bug] EMAIL = Это ваш email
|
||||
> `curl https://get.acme.sh | sh -s email=EMAIL`
|
||||
>sdfsdf
|
||||
|
||||
>[!tip]- **Создание директории для сертификатов**
|
||||
>`mkdir -p /var/lib/marzban/certs/`
|
||||
|
||||
>[!Tip]+ Получение сертификата
|
||||
>>[!Danger] Введите ваш домен или субдомен в поле `DOMAIN`
|
||||
>>**Ниже 1 единая команда!!!**
|
||||
>
|
||||
|
||||
```
|
||||
|
||||
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN \
|
||||
--key-file /var/lib/marzban/certs/key.pem \
|
||||
--fullchain-file /var/lib/marzban/certs/fullchain.pem
|
||||
|
||||
```
|
||||
|
||||
Проверить список выпущенных сертификатов можно командой:
|
||||
```
|
||||
~/.acme.sh/acme.sh --list
|
||||
```
|
||||
|
||||
|
||||
>[!Tip]- **Редактирование данных в файле .env**
|
||||
>После создания сертификатов, нужно отредактировать файл
|
||||
>1) Открываем файл командой:
|
||||
>2) `nano /opt/marzban/.env`
|
||||
>Делаем изменения в полях:
|
||||
>1) `UVICORN_PORT = 443`
|
||||
>2) `UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"`
|
||||
>3) `UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"`
|
||||
>4) `XRAY_SUBSCRIPTION_URL_PREFIX` = https://YOUR_DOMAIN (Ковычки удаляем)
|
||||
>5) *Пример ниже, красное как было, зеленое как стало*
|
||||
>![[Pasted image 20241006133752.png]]
|
||||
|
||||
После редактирования нужно перезапустить марзбан командой:
|
||||
`sudo marzban restart`
|
||||
|
||||
|
||||
|
||||
|
||||
>[!Note] Переход в [[2. Ручная установка и настройка marzban]]
|
||||
|
||||
>[!Bug] Сделай автобекапы
|
||||
>https://git.lifazzz.sbs:3000/lifaz/backup-m
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
>[!bug]
|
||||
>**https://www.merralius.cfd**
|
||||