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 ~/' | ||
/usr/local/www/wiki/data/attic/servers/nginx/gnu_mediagoblin.1537291894.txt.gz · Last modified:  by 127.0.0.1
                
                