Es war nicht unbedingt einfach, aber nicht unmöglich. Da die Dokumentionen nicht besten sind, die man findet, oder teilweise auch unvollständig, habe ich hier meine eigene Anleitung für einen eigenen Pageflow-Server:
[protectedContentOpen][/protectedContentOpen]# SETUP PAGEFLOW - Debian 10
#
# Um pageflow auf einem frisch installierten Debian 10 sind folgende Schritte durchzuführen:
#
apt update
apt install sudo lsb-release bash-completion htop net-tools aptitude mc rsync screen nload locate wget git build-essential ruby2.5-dev ruby-rails rails redis-server imagemagick imagemagick-common imagemagick-doc libsqlite3-dev libodb-sqlite-dev zlib1g-dev zlibc libghc-bzlib-dev libcrypto++-dev libssl-dev nginx -y
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
dpkg -i mysql-apt-config_0.8.13-1_all.deb
apt update
apt install mysql-server default-libmysqlclient-dev default-libmysqld-dev -y
git clone https://github.com/codevise/pageflow.git
mkdir /opt/pageflow
rsync -av pageflow/ /opt/pageflow/
cd /opt/pageflow/
mysql -p
create database ownpageflow;
create user 'ownpageflow'@'localhost' IDENTIFIED BY 'My$secRetPassw0rd';
grant all on *.* TO 'ownpageflow'@'localhost';
flush privileges;
quit;
sudo gem install mysql2 -v '0.5.3'
sudo gem install rake
sudo gem install rainbow -v '2.2.2'
sudo gem install listen
sudo bundle install
# RAILS Starter vorbereiten
echo "cd /opt/pageflow/ownpageflow/ && foreman start" > .foreman.start
echo "cat /opt/pageflow/ownpageflow/tmp/pids/server.pid | xargs kill -9 > /dev/null && rm -rf /opt/pageflow/ownpageflow/tmp/pids/server.pid > /dev/null" > .foreman.stop
chmod a+x .foreman*
echo '#!/bin/bash
screen -d -m -S pageflow bash /opt/pageflow/ownpageflow/.foreman.start &> /dev/null' > /usr/local/bin/pageflow.start
echo '#!/bin/bash
/opt/pageflow/ownpageflow/.foreman.stop' > /usr/local/bin/pageflow.stop
chmod a+x /usr/local/bin/pageflow*
echo '[Unit]
Description=Advanced key-value store
After=network.target
Documentation=http://redis.io/documentation, man:redis-server(1)
[Service]
Type=forking
ExecStart=/usr/local/bin/pageflow.start
ExecStop=/bin/kill -s TERM $MAINPID
PIDFile=/opt/pageflow/ownpageflow/tmp/pids/server.pid
TimeoutStopSec=0
Restart=always
User=root
Group=root
RuntimeDirectory=redis
RuntimeDirectoryMode=2755
UMask=007
PrivateTmp=yes
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Alias=pageflow.service' > /lib/systemd/system/pageflow.service
systemctl enable pageflow.service
systemctl start pageflow.service
# NGINX Configuration erstellen
echo 'server {
listen 80 deferred;
server_name myhost.de;
root /opt/pageflow/ownpageflow;
location / {
try_files $uri/index.html $uri.html $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:5000;
}
}' > /etc/nginx/sites-available/myhost.cfg
ln -s /etc/nginx/sites-available/myhost.cfg /etc/nginx/sites-enabled
service restart nginx
# Setup LETS ENCRYPT
cd /usr/local/bin
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto --install-only
# cerbot nun nochmal ausführen und Anweisungen durchlaufen um myhost.de mit lets-encrypt zu verifizieren und anschliessend den Web-Server neu starten
certbot-auto
service nginx restart
# Damit sollte pageflow nun zunächst im Browser unter der eingerichteten Domain myhost.de erreichbar
##############################################
# PERSONALISIERUNG AWS / S3 / Amazon Services
##############################################
#
# Um AWS / S3 / Amazon Services benutzen zu können muss die Datei
#
# ./config/initializers/pageflow.rb
#
# angepasst werden.
#
# Anschliessend sollte der Pageflow-Service neu gestartet werden.
#
# Wenn alles richtig eingerichtet wurde, kann man nun Medien via Pageflow organisieren.
[protectedContentClose][/protectedContentClose]