[PYTHON] Ich habe Taiga.IO auf CentOS7 installiert (ich habe ein Skript erstellt, als ich dort war)

Was ist Taiga.IO?

Agiles Projektmanagement-Tool Kompatibel mit Kanban und Scrum Einfache und schöne Benutzeroberfläche https://taiga.io/ http://qiita.com/kgmyshin/items/2ac2ad7e6be8425ec60e

Youtube-Tutorial https://www.youtube.com/playlist?list=PLgsasMWN5JssgHHHHI50xkz_kzXg-dElt

Referenz

--Offiziell http://taigaio.github.io/taiga-doc/dist/setup-production.html

--CentOS6, Pionier von Fedora 21+ https://gist.github.com/ss-abramchuk/fd77fe4aa823d92c15e9 https://gist.github.com/ssplatt/42393b7d9c876a027aaa

Was Sie installiert haben

Wirklich minimale Bewegung

Skript

https://gist.github.com/skliber/50e7f389407d3de25b0f Es gibt viele schwarze Magie, aber ich konnte es vorerst tun

Wie benutzt man

  1. Ersetzen Sie die Zeichenfolge YOURIP im Skript durch Ihre eigene IP sed -i -e 's/YOURIP/192.168.x.x/g' setup-taiga-centos.sh

  2. Werden Sie root und führen Sie es mit dem Quellbefehl aus source setup-taiga-centos.sh

Kommentar

  1. yum Stellen Sie alle Dinge zusammen, die Sie brauchen Fügen Sie das Epel-Repository hinzu, um libzmq einzuschließen
yum install -y epel-release

yum install -y gcc autoconf flex bison libjpeg-turbo-devel
yum install -y freetype-devel zlib-devel zeromq3-devel gdbm-devel ncurses-devel
yum install -y automake libtool libffi-devel curl git tmux
yum install -y libxml2-devel libxslt-devel
yum install -y wget openssl-devel gcc-c++
  1. PostgreSQL 9.5 Nehmen Sie nach der Installation von PostgreSQL 9.5 die Grundeinstellungen von db vor und starten Sie es.
wget http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
rpm -ivh pgdg-centos95-9.5-3.noarch.rpm
yum install -y postgresql95-server postgresql95-devel postgresql95-contrib
export PATH=$PATH:/usr/pgsql-9.5/bin
postgresql95-setup initdb
systemctl start postgresql-9.5.service
  1. Python 3.5.2 Taiga.IO erfordert Python 3.4 oder höher, befindet sich jedoch nicht im CentOS-Repository. Installieren Sie daher die neueste Version aus dem Quellcode Dieses Mal habe ich das Installationsziel auf "/ opt / python3.5" gesetzt
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
tar xvf Python-3.5.2.tar.xz
cd Python-3.5.2/
./configure --prefix=/opt/python3.5
make
make install
export PATH=$PATH:/opt/python3.5/bin

4. DB-Einstellungen für PostgreSQL Taiga.IO

Gehen Sie zu einem Ort, an dem Benutzer-Postgres Befehle mit schwarzer Magie "cd / home" ausführen können. Erstellen Sie eine Datenbank mit Benutzern

cd /home su postgres -c "createuser taiga" su postgres -c "createdb taiga -O taiga"

5. Installation von virtualenv und virtualenvwrapper

Dies scheinen diejenigen zu sein, die die einzigartige Umgebung von Python erstellen und verwalten http://qiita.com/caad1229/items/325ca5c8ad198b0ebce7 http://qiita.com/_rdtr/items/5f3a9a9e2cb5a24f284e

Wenn der Befehl mkvirtualenv erfolgreich ist, wird automatisch die eindeutige Umgebung aufgerufen. Ich werde später in Schwierigkeiten sein, also deaktiviere es ~~ Was? Was bedeutet es, eine Umgebung zu schaffen? ~~ Ich kann dich nicht hören

pip3.5 install virtualenv virtualenvwrapper
VIRTUALENVWRAPPER_PYTHON=/opt/python3.5/bin/python3.5
source /opt/python3.5/bin/virtualenvwrapper.sh
mkvirtualenv -p /opt/python3.5/bin/python3.5 taiga
deactivate
  1. taiga-back Fügen Sie zuerst die Benutzer-Taiga hinzu Das Hauptverzeichnis von Taiga.IO wird unter / home / taiga / erweitert

Schauen Sie sich die stabile Version von Taiga-Back an

adduser taiga
cd /home/taiga
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back/
git checkout stable

6.1. requirements.txt Die Taiga-Back-Anforderung.txt hat eine getaggte Git-Adresse. Anscheinend existiert dieses Tag momentan nicht auf Github und der Versuch, es zu installieren, schlägt fehl Fügen Sie also vor der Installation die Adresse hinzu, die mit dem Befehl sed erfolgreich ist

sed -i -e '34a git+https://github.com/Xof/django-pglocks.git' requirements.txt

pip3.5 install -r requirements.txt

6.2. Korrigieren Sie den Besitzer + kleinere Codekorrektur

Da das Verzeichnis / home / taiga / taiga-back / im Stammverzeichnis erstellt wird, Korrigieren Sie den Eigentümer im Home-Verzeichnis manage.py muss vom Benutzer taiga ausgeführt werden, damit Sie es nicht bedienen können, ohne es zu reparieren

In CentOS 7 ist Python 2 standardmäßig installiert. Wenn Sie manage.py so wie es ist starten, wird es mit Python 2 gestartet und ist unpraktisch Ändern Sie den Befehl sed, um Python 3.5 zu verwenden

chown -R taiga:taiga /home/taiga/

sed -i -e '1a #!/opt/python3.5/bin/python3.5' -e '1d' manage.py

7. Grundeinstellung des Taiga-Back

Wenn Sie den YOURIP-Teil auf "localhost" oder "127.0.0.1" setzen, Bitte beachten Sie, dass Sie nur von sich aus darauf zugreifen können Es scheint gut, einen Domainnamen, eine globale IP oder eine private IP festzulegen Referenz: https://github.com/taigaio/taiga-scripts/issues/10

su taiga -c "python3.5 manage.py migrate --noinput"
su taiga -c "python3.5 manage.py loaddata initial_user"
su taiga -c "python3.5 manage.py loaddata initial_project_templates"
su taiga -c "python3.5 manage.py loaddata initial_role"
su taiga -c "python3.5 manage.py compilemessages"
su taiga -c "python3.5 manage.py collectstatic --noinput"

cat > /home/taiga/taiga-back/settings/local.py << EOF
from .development import *
from .common import *

MEDIA_URL = "http://YOURIP/media/"
STATIC_URL = "http://YOURIP/static/"
ADMIN_MEDIA_PREFIX = "http://YOURIP/static/admin/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "YOURIP"

SECRET_KEY = "theveryultratopsecretkey"

DEBUG = False
TEMPLATE_DEBUG = False
PUBLIC_REGISTER_ENABLED = True

DEFAULT_FROM_EMAIL = "[email protected]"
SERVER_EMAIL = DEFAULT_FROM_EMAIL
EOF
  1. taiga-front Müssen json für die Konfiguration machen Stellen Sie Ihre eigene IP in conf.example.json ein und kopieren Sie sie so wie sie ist
cd /home/taiga
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist/
git checkout stable
cd dist/
sed -e 's/localhost/YOURIP/' conf.example.json > conf.json
  1. Circus Installieren Sie Circus mit Pip
cd /home/taiga
pip3.5 install circus

mkdir -p /home/taiga/conf
cat > /home/taiga/conf/circus.ini << EOF
[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
statsd = true

[watcher:taiga]
working_dir = /home/taiga/taiga-back
cmd = gunicorn
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 4
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4

[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
TERM=rxvt-256color
SHELL=/bin/bash
USER=taiga
LANG=en_US.UTF-8
HOME=/home/taiga
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages
EOF

mkdir -p /home/taiga/logs
touch /home/taiga/logs/gunicorn.stdout.log
touch /home/taiga/logs/gunicorn.stderr.log

10. Erstellen Sie eine Circus-Konfigurationsdatei für Systemd

Circus erstellt keine Konfigurationsdatei für Systemd Ich kann es nicht ändern, also mache ich es selbst

cat > /usr/lib/systemd/system/circus.service << EOF
[Unit]
Description=circus

[Service]
ExecStart=/usr/local/bin/circusd /home/taiga/conf/circus.ini
EOF
ln -s '/usr/lib/systemd/system/circus.service' '/etc/systemd/system/circus.service'

11. Starten Sie Circus

Starten Sie basierend auf der zuvor erstellten Einstellungsdatei

ln -s /root/.virtualenvs/taiga/bin/circusd /usr/local/bin/circusd
systemctl start circus.service
  1. nginx Fügen Sie ein Repository hinzu, um neue aufzunehmen Nehmen Sie Einstellungen für Taiga.IO vor und starten Sie
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF
yum install -y nginx

cat > /etc/nginx/conf.d/taiga.conf << 'EOF'
server {
    listen 80 default_server;
    server_name _;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    # Frontend
    location / {
        root /home/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://YOURIP:8001/api;
        proxy_redirect off;
    }

    # Django admin access (/admin/)
    location /admin {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://YOURIP:8001$request_uri;
        proxy_redirect off;
    }

    # Static files
    location /static {
        alias /home/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /home/taiga/taiga-back/media;
    }
}
EOF
systemctl restart nginx

13. Schwarze Magie

Schwarze Magie Ich weiß nicht wie oft Korrigieren Sie den Besitzer von / home / taiga / und erteilen Sie anderen die Ausführungsberechtigung Nginx gibt einen Fehler "Berechtigung verweigert 500" ohne Ausführungsberechtigung zurück

chown -R taiga:taiga /home/taiga/ chmod o+x /home/taiga/

14. Starten Sie das Taiga.IO-Backend

Starten Sie im Hintergrund der Benutzer-Taiga Es scheint, dass nur von der Entwicklungsmaschine ohne 0.0.0.0:8000 darauf zugegriffen werden kann http://masasuzu.hatenablog.jp/entry/20100731/1280588504

su taiga -c "python3.5 /home/taiga/taiga-back/manage.py runserver 0.0.0.0:8000 &"

Ende. Zugriff mit Browser

Wenn der letzte Befehl erfolgreich ist, sollte er Port 8000 abhören Da nginx auf Port 80 wartet, können Sie es verwenden, indem Sie auf Ihre IP-Adresse zugreifen Ursprünglicher Benutzername: admin Passwort: 123123

Nebenbei: Warum CentOS, Ubuntu hat nicht funktioniert?

Wenn Sie das offiziell vorbereitete Skript unter Ubuntu verwenden, können Sie es sofort verwenden Aber ich habe so viel mit CentOS gelebt, dass ich keine Lust hatte, Ubuntu zu verwenden Ich blieb ungefähr 3 Tage lang stecken und fing an zu frustrieren, aber ich habe es geschafft, also bin ich okay

Recommended Posts

Ich habe Taiga.IO auf CentOS7 installiert (ich habe ein Skript erstellt, als ich dort war)
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe versucht, Kivy in einer Mac-Umgebung zu installieren
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
〇✕ Ich habe ein Spiel gemacht
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Ich habe Ubuntu auf einem USB-Speicher eines Dual-Boot-PCs installiert
Ich habe die automatische maschinelle Lernbibliothek auto-sklearn auf centos7 installiert
Ich habe ein VGG16-Modell mit TensorFlow gemacht (unterwegs)
Ich habe einen neuronalen Netzwerkgenerator erstellt, der auf FPGA läuft
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
Ich habe tensorRT unter Ubuntu 18.04 installiert
Ich habe ROS unter Ubuntu 18.04 installiert
Ich habe einen Python-Text gemacht
Ich habe einen Zwietrachtbot gemacht
Ich war ein wenig süchtig nach der Installation von Python3.3 + mod_wsgi3.4 auf Sakura VPS (CentOS), also ein Hinweis zur Überprüfung
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Ich habe gerade ein Skript geschrieben, um Android auf einem anderen Computer zu erstellen
Ich habe eine C ++ - Lernseite erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe mit Python eine Lotterie gemacht.
Erstellen Sie eine Python-Umgebung in Centos
Erstellen Sie eine Python3-Umgebung unter CentOS7
Ich habe mit Python einen Daemon erstellt
Ich habe versucht, Linux auf meinem Mac zu installieren
Eine Geschichte, die mich süchtig nach dem Versuch machte, LightFM unter Amazon Linux zu installieren
Ich habe einen Küchentimer erstellt, der in der Statusleiste angezeigt wird!
Ich habe eine Chrome-Erweiterung erstellt, die ein Diagramm auf der Amedas-Seite anzeigt
Ich habe ein Skript in Python erstellt, um MDD-Dateien in das Scrapbox-Format zu konvertieren
Ich habe ein WebAPI gemacht! Erstellen einer Umgebung aus Django Rest Framework 1 mit EC2
Während ich Pandas studierte, machte ich eine kostenlose Studie darüber, wann Corona enden würde und ob das Sperren sinnvoll war.
[Python] Ich habe ein Skript erstellt, das Dateien auf dem lokalen PC automatisch ausschneidet und auf eine externe SSD einfügt.