mirror of
https://git.reisber.space/Reisber/Personal
synced 2026-04-03 15:38:38 +00:00
113
NEBULA/nebula.md
Normal file
113
NEBULA/nebula.md
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
# И так. Я решил поднять небулу
|
||||||
|
## Мной, в качестве сервера выбран debian 12 (6Cores, 12GB RAM + 160gb SSD)
|
||||||
|
## Обязательно проверяйте, чтобы у вашего хостера/home-server была виртуализация
|
||||||
|
### Начало установки
|
||||||
|
## Для начала установим MariaDB сервер
|
||||||
|
```
|
||||||
|
apt-get install mariadb-server curl gnupg2 -y
|
||||||
|
mysql
|
||||||
|
CREATE DATABASE opennebula;
|
||||||
|
GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'password';
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
|
EXIT;
|
||||||
|
```
|
||||||
|
После этого сделаем парочку очень важных шагов
|
||||||
|
Поменяем наш hostname
|
||||||
|
`hostname opennebula`
|
||||||
|
И заменим хостнейм возле нашего внешнего IP
|
||||||
|
```
|
||||||
|
nano /etc/hosts добавляем наш текущий hostname туда
|
||||||
|
```
|
||||||
|
## Затем начнём установку самой небулы
|
||||||
|
Сначала скачаем и добавим GPG ключ
|
||||||
|
```
|
||||||
|
curl -fsSL https://downloads.opennebula.io/repo/repo2.key| gpg --dearmor -o /etc/apt/trusted.gpg.d/opennebula.gpg
|
||||||
|
```
|
||||||
|
Затем скачаем саму небулу
|
||||||
|
```
|
||||||
|
echo "deb https://downloads.opennebula.io/repo/6.10/Debian/12 stable opennebula" | tee /etc/apt/sources.list.d/opennebula.list
|
||||||
|
```
|
||||||
|
Обновим и установим репозитроий с небулой
|
||||||
|
```
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install opennebula opennebula-sunstone opennebula-gate opennebula-flow -y
|
||||||
|
|
||||||
|
```
|
||||||
|
После успешной установки запустим следующую команду для установки необходимых зависимостей
|
||||||
|
```
|
||||||
|
/usr/share/one/install_gems
|
||||||
|
```
|
||||||
|
# Теперь настроим нашу небулу
|
||||||
|
```
|
||||||
|
nano /etc/one/oned.conf
|
||||||
|
```
|
||||||
|
И в этом файле мы меняем следующие строчки
|
||||||
|
```
|
||||||
|
DB = [ BACKEND = "sqlite",
|
||||||
|
TIMEOUT = 2500 ]
|
||||||
|
```
|
||||||
|
На эти
|
||||||
|
```
|
||||||
|
DB = [ BACKEND = "mysql",
|
||||||
|
SERVER = "localhost",
|
||||||
|
PORT = 0,
|
||||||
|
USER = "oneadmin",
|
||||||
|
PASSWD = "password",
|
||||||
|
DB_NAME = "opennebula",
|
||||||
|
CONNECTIONS = 25,
|
||||||
|
COMPARE_BINARY = "no" ]
|
||||||
|
```
|
||||||
|
Сохраняем изменения
|
||||||
|
И после этого сгенерим пароль oneadmin при помощи
|
||||||
|
```
|
||||||
|
cat /var/lib/one/.one/one_auth
|
||||||
|
```
|
||||||
|
После этого
|
||||||
|
```
|
||||||
|
systemctl start opennebula opennebula-sunstone
|
||||||
|
systemctl enable opennebula opennebula-sunstone
|
||||||
|
```
|
||||||
|
И в целом всё
|
||||||
|
Ваша небула будет доступна через браузер **http://your-server-ip:9869**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Но это ведь слишком скучно. Хочется домен, хочется ходить без порта.
|
||||||
|
Качаем Nginx
|
||||||
|
```
|
||||||
|
apt install nginx certbot python3-certbot-nginx -y
|
||||||
|
```
|
||||||
|
После этого сгенерим конфигурационный файл для нашего облачка
|
||||||
|
```
|
||||||
|
nano /etc/nginx/sites-available/sunstone.conf
|
||||||
|
```
|
||||||
|
И вставим туда
|
||||||
|
```
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name pu-pu-pu-pu-pu-pu.domain.com;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:9869;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
|
# Для WebSocket
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Сохраним и проверим наш конфиг, а так-же растартнем nginx
|
||||||
|
```
|
||||||
|
nginx -t
|
||||||
|
systemctl restart nginx
|
||||||
|
```
|
||||||
|
После этого получим серт через Certbot (да, это правда особо не нужно, но лень каждый раз смотреть, что соединение не безопасно)
|
||||||
|
```
|
||||||
|
certbot --nginx -d pu-pu-pu-pu-pu-pu.domain.com
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user