Files
Personal/NEBULA/nebula.md
2026-02-28 01:59:50 +00:00

124 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# И так. Я решил поднять небулу
## Мной, в качестве сервера выбран 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
```
Вот и всё, мы прекрасны
Для загрузки ISO лучше всего использовать scp
```scp pupu.iso oneadmin@server:/var/lib/one/datastores/0/```
Или грузить всё в домашнюю директорию рута и оттуда
```
sudo mv ~/pupu.iso /var/lib/one/datastores/0/
sudo chown oneadmin:oneadmin /var/lib/one/datastores/0/pupu.iso
```