servers:nginx:gnu_mediagoblin
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
servers:nginx:gnu_mediagoblin [2018/09/18 13:31] – external edit 127.0.0.1 | servers:nginx:gnu_mediagoblin [2024/08/13 22:20] (current) – removed Sean Rhone | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Information ====== | ||
- | * GNU MediaGoblin ((http:// | ||
- | * [[Information: | ||
- | * https:// | ||
- | |||
- | ===== Prerequisites ===== | ||
- | |||
- | * [[distros: | ||
- | * [[servers: | ||
- | * [[servers: | ||
- | |||
- | ===== Notes ===== | ||
- | |||
- | * AudioLab isn't compatible with Python 3: https:// | ||
- | * As of 2018/06/03, these notes support a picture-only instance ((no video, no audio)) | ||
- | |||
- | ====== Create Group and User ====== | ||
- | |||
- | **** | ||
- | |||
- | sudo groupadd --force ' | ||
- | |||
- | ====== Dependencies ====== | ||
- | |||
- | **** | ||
- | |||
- | * opensuse | ||
- | |||
- | npm nodejs6 automake python2-numpy python2-scipy python2-SQLAlchemy | ||
- | |||
- | * deb MG site | ||
- | |||
- | sudo apt-get install nodejs-legacy | ||
- | |||
- | * Old notes | ||
- | |||
- | sudo apt install gstreamer1.0-libav gstreamer1.0-plugins-good python-gst-1.0 gir1.2-gst-plugins-base-1.0 python-gi gstreamer1.0-tools python-numpy python-scipy libsndfile1-dev libasound2-dev python-sqlalchemy | ||
- | |||
- | * TODO and eventually to be used | ||
- | |||
- | sudo apt install python3 python3-dev python3-lxml python3-pil python3-virtualenv npm nodejs automake rabbitmq-server uwsgi uwsgi-plugin-python3 | ||
- | |||
- | ====== Download Source ====== | ||
- | |||
- | **** | ||
- | |||
- | sudo git clone --branch ' | ||
- | |||
- | ====== nginx + uWSGI Configuration ====== | ||
- | |||
- | ===== uWSGI Vassal ===== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [uwsgi] | ||
- | master = true | ||
- | |||
- | enable-threads = true | ||
- | |||
- | plugin = python | ||
- | |||
- | uid = mediagoblin | ||
- | gid = mediagoblin | ||
- | |||
- | socket = / | ||
- | chown-socket = nginx:nginx | ||
- | |||
- | chdir = / | ||
- | home = / | ||
- | ini-paste = / | ||
- | virtualenv = / | ||
- | |||
- | ===== uWSGI + nginx ===== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | location / { | ||
- | include uwsgi_params; | ||
- | uwsgi_param SCRIPT_NAME ""; | ||
- | uwsgi_pass unix:/ | ||
- | }</ | ||
- | |||
- | ===== Server Block ====== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | server { | ||
- | listen ' | ||
- | server_name ' | ||
- | client_max_body_size 10240M; | ||
- | |||
- | include '/ | ||
- | include '/ | ||
- | |||
- | #access_log / | ||
- | #error_log / | ||
- | |||
- | location / | ||
- | alias / | ||
- | } | ||
- | |||
- | location / | ||
- | alias / | ||
- | } | ||
- | |||
- | location / | ||
- | alias / | ||
- | } | ||
- | |||
- | location / | ||
- | alias / | ||
- | } | ||
- | }</ | ||
- | |||
- | ====== Install ====== | ||
- | |||
- | ===== Switch User ===== | ||
- | |||
- | **** | ||
- | |||
- | sudo su ' | ||
- | |||
- | ===== Initialize Environment ===== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ==== Create Media Directory ==== | ||
- | |||
- | **** | ||
- | |||
- | mkdir -p '/ | ||
- | |||
- | ====== Settings ====== | ||
- | |||
- | ===== Change User ===== | ||
- | |||
- | **** | ||
- | |||
- | sudo su ' | ||
- | |||
- | ===== Copy Configs ===== | ||
- | |||
- | **** | ||
- | |||
- | cp -av '/ | ||
- | |||
- | ===== GNU MediaGoblin ===== | ||
- | |||
- | nano '/ | ||
- | |||
- | < | ||
- | [mediagoblin] | ||
- | html_title = RoE | Media | ||
- | allow_comments = false | ||
- | |||
- | allow_registration = false | ||
- | allow_reporting = false</ | ||
- | |||
- | ===== Initialize Plugins and Database ===== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ===== Create Account ===== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ====== RabbitMQ ====== | ||
- | |||
- | ===== Config ===== | ||
- | |||
- | * Fixes an error (('' | ||
- | * Before running this, test if it "just works" by running '' | ||
- | |||
- | echo ' | ||
- | |||
- | ====== Services ====== | ||
- | |||
- | ===== Celery ===== | ||
- | |||
- | ==== Service ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=GNU MediaGoblin Celery Task Queue Service | ||
- | After=network-online.target | ||
- | Wants=network-online.target | ||
- | |||
- | [Service] | ||
- | User=mediagoblin | ||
- | Group=mediagoblin | ||
- | Type=simple | ||
- | Environment=MEDIAGOBLIN_CONFIG=/ | ||
- | Environment=CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | Restart=always | ||
- | RestartSec=5 | ||
- | |||
- | [Install] | ||
- | WantedBy=multi-user.target</ | ||
- | |||
- | ===== Updater ===== | ||
- | |||
- | ==== Service ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Service] | ||
- | User=mediagoblin | ||
- | Group=mediagoblin | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | ==== Timer ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=GNU MediaGoblin and Submodules Git Updater | ||
- | After=network-online.target | ||
- | Wants=network-online.target | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-* 05:00:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ===== Restarter ===== | ||
- | |||
- | ==== Service ==== | ||
- | |||
- | * This script restarts both '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Service] | ||
- | Type=oneshot | ||
- | ExecStartPre='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | ExecStartPost='/ | ||
- | ExecStartPost='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | ==== Timer ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=GNU MediaGoblin, | ||
- | After=network-online.target | ||
- | Wants=network-online.target | ||
- | |||
- | [Timer] | ||
- | OnCalendar=*-*-* 05:30:00 | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ===== Backup ===== | ||
- | |||
- | ==== User Directory ==== | ||
- | |||
- | === Service === | ||
- | |||
- | mkdir -p ~/' | ||
- | |||
- | < | ||
- | [Service] | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | === Timer === | ||
- | |||
- | * This happens monthly | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=GNU MediaGoblin User Files Backup | ||
- | |||
- | [Timer] | ||
- | OnCalendar=monthly | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ==== Web Folder ==== | ||
- | |||
- | === Service === | ||
- | |||
- | mkdir -p ~/' | ||
- | |||
- | < | ||
- | [Service] | ||
- | Type=oneshot | ||
- | WorkingDirectory=/ | ||
- | ExecStart='/ | ||
- | ExecStartPost='/ | ||
- | |||
- | === Timer === | ||
- | |||
- | * This happens monthly since the files folder is large | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | [Unit] | ||
- | Description=GNU MediaGoblin Web Files Backup | ||
- | |||
- | [Timer] | ||
- | OnCalendar=monthly | ||
- | Persistent=true | ||
- | |||
- | [Install] | ||
- | WantedBy=timers.target</ | ||
- | |||
- | ====== Backup ====== | ||
- | |||
- | * Create backup archive on server and transfer to client computer | ||
- | |||
- | ===== Server ===== | ||
- | |||
- | ==== Stop Services ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo systemctl stop nginx uwsgi media-c | ||
- | |||
- | ==== Backup User Folder ==== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ==== Backup Web Folder ==== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ==== Start Services ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo systemctl start nginx uwsgi media-c | ||
- | |||
- | ===== Client ===== | ||
- | |||
- | ==== Transfer Files To Client ==== | ||
- | |||
- | **** | ||
- | |||
- | scp espionage724@192.168.1.153: | ||
- | |||
- | ====== Restore ====== | ||
- | |||
- | ===== Client ===== | ||
- | |||
- | ==== Transfer Files To Server ==== | ||
- | |||
- | **** | ||
- | |||
- | scp ~/' | ||
- | |||
- | ==== Remove Files ==== | ||
- | |||
- | **** | ||
- | |||
- | rm -f ~/' | ||
- | |||
- | ===== Server ===== | ||
- | |||
- | ==== Stop Services ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo systemctl stop nginx uwsgi media-c | ||
- | |||
- | ==== Remove Previous Folders ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo rm -Rf '/ | ||
- | |||
- | ==== Restore GNU MediaGoblin User Folder ==== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ==== Restore GNU MediaGoblin Web Folder ==== | ||
- | |||
- | **** | ||
- | |||
- | cd '/ | ||
- | |||
- | ==== Start Services ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo systemctl start nginx uwsgi media-c | ||
- | |||
- | ==== Remove Backups ==== | ||
- | |||
- | * Verify that GNU MediaGoblin works before running | ||
- | |||
- | rm ~/' |
C:/www/wiki/data/attic/servers/nginx/gnu_mediagoblin.1537291894.txt.gz · Last modified: by 127.0.0.1