{"id":772,"date":"2015-05-11T17:28:57","date_gmt":"2015-05-12T02:28:57","guid":{"rendered":"http:\/\/blog.box.kr\/?p=772"},"modified":"2015-05-11T17:28:57","modified_gmt":"2015-05-12T02:28:57","slug":"installing-taiga-on-centos-x64","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=772","title":{"rendered":"Installing Taiga on CentOS  (x64)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#dependencies\" rel=\"noreferrer\" name=\"user-content-dependencies\"><\/a>Dependencies<\/h2>\n<p>&#8230;<\/p>\n<pre><code>yum update -y\nyum groupinstall \"Development Tools\" -y\nyum install libxslt-devel libxml2-devel libXt-devel curl git tmux -y\n<\/code><\/pre>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#installing-postgresql\" rel=\"noreferrer\" name=\"user-content-installing-postgresql\"><\/a>Installing PostgreSQL<\/h2>\n<p>&#8230;<\/p>\n<pre><code>TAIGA_POSTGRES_BD = taiga\nTAIGA_POSTGRES_USER = taiga\nTAIGA_POSTGRES_PASSWORD=`&lt; \/dev\/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>rpm -ivh http:\/\/yum.postgresql.org\/9.4\/redhat\/rhel-6-x86_64\/pgdg-centos94-9.4-1.noarch.rpm\nsed -i 's\/^gpgkey.*\/&amp;nexclude=postgresql*\/' \/etc\/yum.repos.d\/CentOS-Base.repo\n\nyum -y install postgresql94 postgresql94-contrib postgresql94-server postgresql94-devel postgresql94-libs\nservice postgresql-9.4 initdb\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>sed -i \"\/^host\/s\/ident\/md5\/g\" \/var\/lib\/pgsql\/9.4\/data\/pg_hba.conf\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>\/sbin\/chkconfig --level 35 postgresql-9.4 on\nservice postgresql-9.4 start\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>echo -e \"$TAIGA_POSTGRES_PASSWORDn$TAIGA_POSTGRES_PASSWORDn\" | su - postgres -c \"createuser --pwprompt $TAIGA_POSTGRES_USER\"\nsu - postgres -c \"createdb $TAIGA_POSTGRES_BD -O $TAIGA_POSTGRES_USER\"\n<\/code><\/pre>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#installing-python\" rel=\"noreferrer\" name=\"user-content-installing-python\"><\/a>Installing Python<\/h2>\n<p>&#8230;<\/p>\n<pre><code>wget --directory-prefix=\/tmp http:\/\/repo.continuum.io\/miniconda\/Miniconda3-3.7.0-Linux-x86_64.sh\nbash \/tmp\/Miniconda3-3.7.0-Linux-x86_64.sh -b -p \/usr\/local\/miniconda3\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>cat &gt; \/etc\/profile.d\/miniconda.sh &lt;&lt; EOF\nif [[ $PATH != *\/usr\/local\/miniconda3\/bin* ]]\nthen\n    export PATH=\/usr\/local\/miniconda3\/bin:$PATH\nfi\nEOF\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>source \/etc\/profile.d\/miniconda.sh\n<\/code><\/pre>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#installing-taiga-backend\" rel=\"noreferrer\" name=\"user-content-installing-taiga-backend\"><\/a>Installing Taiga Backend<\/h2>\n<p>&#8230;<\/p>\n<pre><code>TAIGA_SECRET_KEY=`&lt; \/dev\/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`\n\nadduser taiga\n\nDIR=\"\/var\/log\/taiga \/opt\/taiga-back \/opt\/taiga-events\"\nfor NAME in $DIR\ndo\nif [ ! -d $NAME ]; then\n   mkdir $NAME\n   chown taiga.taiga $NAME\nfi\ndone\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>su - taiga\ngit clone https:\/\/github.com\/taigaio\/taiga-back.git \/opt\/taiga-back\ncd \/opt\/taiga-back\ngit checkout stable\n<\/code><\/pre>\n<p>Create environment&#8230;<\/p>\n<pre><code>conda create --yes -n taiga python\nsource activate taiga\nconda install --yes pip\n<\/code><\/pre>\n<p>Installing taiga.io requirements&#8230;<\/p>\n<pre><code>export PATH=$PATH:\/usr\/pgsql-9.4\/bin\/\npip install -r requirements.txt\nexit\n<\/code><\/pre>\n<p>Configure backend&#8230;<\/p>\n<pre><code>cat &gt; \/opt\/taiga-back\/settings\/local.py &lt;&lt; EOF\nfrom .development import *\n\nDATABASES = {\n\u00a0 \u00a0 'default': {\n\u00a0 \u00a0 \u00a0 \u00a0 'ENGINE': 'transaction_hooks.backends.postgresql_psycopg2',\n\u00a0 \u00a0 \u00a0 \u00a0 'NAME': '$TAIGA_POSTGRES_BD',\n\u00a0 \u00a0 \u00a0 \u00a0 'USER': '$TAIGA_POSTGRES_USER',\n\u00a0 \u00a0 \u00a0 \u00a0 'PASSWORD': '$TAIGA_POSTGRES_PASSWORD'\n\u00a0 \u00a0 }\n}\n\nMEDIA_URL = \"http:\/\/example.com\/media\/\"\nSTATIC_URL = \"http:\/\/example.com\/static\/\"\nADMIN_MEDIA_PREFIX = \"http:\/\/example.com\/static\/admin\/\"\nSITES[\"front\"][\"scheme\"] = \"http\"\nSITES[\"front\"][\"domain\"] = \"example.com\"\n\nSECRET_KEY = \"$TAIGA_SECRET_KEY\"\n\nDEBUG = False\nTEMPLATE_DEBUG = False\n\nPUBLIC_REGISTER_ENABLED = True\n\nDEFAULT_FROM_EMAIL = \"no-reply@example.com\"\nSERVER_EMAIL = DEFAULT_FROM_EMAIL\nEOF\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>chown taiga.taiga \/opt\/taiga-back\/settings\/local.py\n<\/code><\/pre>\n<p>Populate the database with initial data&#8230;<\/p>\n<pre><code>su - taiga\nsource activate taiga\ncd \/opt\/taiga-back\npython manage.py migrate --noinput\npython manage.py loaddata initial_user\npython manage.py loaddata initial_project_templates\npython manage.py loaddata initial_role\npython manage.py collectstatic --noinput\nexit\n<\/code><\/pre>\n<p>This creates a new user\u00a0&#8220;admin&#8221;\u00a0with password\u00a0&#8220;123123&#8221;.<\/p>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#circus-and-gunicorn\" rel=\"noreferrer\" name=\"user-content-circus-and-gunicorn\"><\/a>Circus and gunicorn<\/h2>\n<p>&#8230;<\/p>\n<pre><code>conda install --yes pip\npip install circus\n<\/code><\/pre>\n<p>You can check environment path with this command:<\/p>\n<pre><code>su - taiga -c \"conda info -e\"\n<\/code><\/pre>\n<p>Output will be something like this:<\/p>\n<pre><code># conda environments:\n#\ntaiga                    \/home\/taiga\/envs\/taiga\nroot                  *  \/usr\/local\/miniconda3\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>cat &gt; \/etc\/circus.ini &lt;&lt; EOF\n[circus]\ncheck_delay = 5\nendpoint = tcp:\/\/127.0.0.1:5555\npubsub_endpoint = tcp:\/\/127.0.0.1:5556\nstatsd = true\n\n[watcher:taiga]\nworking_dir = \/opt\/taiga-back\ncmd = gunicorn\nargs = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi\nuid = taiga\nnumprocesses = 1\nautostart = true\nsend_hup = true\nstdout_stream.class = FileStream\nstdout_stream.filename = \/var\/log\/taiga\/gunicorn.stdout.log\nstdout_stream.max_bytes = 10485760\nstdout_stream.backup_count = 4\nstderr_stream.class = FileStream\nstderr_stream.filename = \/var\/log\/taiga\/gunicorn.stderr.log\nstderr_stream.max_bytes = 10485760\nstderr_stream.backup_count = 4\n\n[env:taiga]\nPATH = $PATH:\/home\/taiga\/envs\/taiga\/bin\nTERM=rxvt-256color\nSHELL=\/bin\/bash\nUSER=taiga\nLANG=en_US.UTF-8\nHOME=\/home\/taiga\nPYTHONPATH=\/home\/taiga\/envs\/taiga\/lib\/python3.4\/site-packages\nEOF\n<\/code><\/pre>\n<p>&#8230;<\/p>\n<pre><code>cat &gt; \/etc\/init\/circus.conf &lt;&lt; EOF\nstart on runlevel [2345]\nstop on runlevel [016]\n\nrespawn\nexec \/usr\/local\/miniconda3\/bin\/circusd \/etc\/circus.ini\nEOF\n<\/code><\/pre>\n<p>Start the circus service.<\/p>\n<pre><code>initctl start circus\n<\/code><\/pre>\n<p>Backend installation complete.<\/p>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#installing-taiga-events--review-doesnt-work\" rel=\"noreferrer\" name=\"user-content-installing-taiga-events--review-doesnt-work\"><\/a>Installing Taiga Events \/\/ Review: doesn&#8217;t work<\/h2>\n<p>&#8230;<\/p>\n<pre><code>su - taiga\ngit clone https:\/\/github.com\/taigaio\/taiga-events.git \/opt\/taiga-events\ncd \/opt\/taiga-events\ngit checkout stable\n<\/code><\/pre>\n<p>Install requirements&#8230; &#8230;<\/p>\n<pre><code>source activate taiga\npip install -r requirements.txt\nexit\n<\/code><\/pre>\n<p>Configure taiga-events&#8230;<\/p>\n<pre><code>cat &gt; \/opt\/taiga-events\/conf.py &lt;&lt; EOF\nsecret_key = \"$TAIGA_SECRET_KEY\"\n\nrepo_conf = {\n    \"kwargs\": {\"dsn\": \"dbname=$TAIGA_POSTGRES_BD\"}\n}\n\nqueue_conf = {\n    \"path\": \"taiga_events.queues.pg.EventsQueue\",\n    \"kwargs\": {\n        \"dsn\": \"dbname=$TAIGA_POSTGRES_BD\"\n    }\n}\nEOF\n\nchown taiga.taiga \/opt\/taiga-events\/conf.py\n<\/code><\/pre>\n<p>Configure circus&#8230;<\/p>\n<pre><code>cat &gt;&gt; \/etc\/circus.ini &lt;&lt; EOF\n\n[watcher:taiga-events]\nworking_dir = \/opt\/taiga-events\ncmd = python run.py -f conf.py\nuid = taiga\nnumprocesses = 1\nautostart = true\nstdout_stream.class = FileStream\nstdout_stream.filename = \/var\/log\/taiga\/events.stdout.log\nstdout_stream.max_bytes = 10485760\nstdout_stream.backup_count = 4\nstderr_stream.class = FileStream\nstderr_stream.filename = \/var\/log\/taiga\/events.stderr.log\nstderr_stream.max_bytes = 10485760\nstderr_stream.backup_count = 4\ncopy_env = true\nvirtualenv = \/home\/taiga\/envs\/taiga\/\nEOF\n<\/code><\/pre>\n<p>Restart circus after updating the configuration<\/p>\n<pre><code>initctl restart circus\n<\/code><\/pre>\n<h2><a class=\"anchor\" href=\"https:\/\/gist.github.com\/ss-abramchuk\/fd77fe4aa823d92c15e9#installing-taiga-frontend\" rel=\"noreferrer\" name=\"user-content-installing-taiga-frontend\"><\/a>Installing Taiga Frontend<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Dependencies &#8230; yum update -y yum groupinstall &#8220;Development Tools&#8221; -y yum install libxslt-devel libxml2-devel libXt-devel curl git tmux -y Installing PostgreSQL &#8230; TAIGA_POSTGRES_BD = taiga TAIGA_POSTGRES_USER = taiga TAIGA_POSTGRES_PASSWORD=`&lt; \/dev\/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;` &#8230; rpm -ivh http:\/\/yum.postgresql.org\/9.4\/redhat\/rhel-6-x86_64\/pgdg-centos94-9.4-1.noarch.rpm sed -i &#8216;s\/^gpgkey.*\/&amp;nexclude=postgresql*\/&#8217; \/etc\/yum.repos.d\/CentOS-Base.repo yum -y install postgresql94 postgresql94-contrib postgresql94-server postgresql94-devel postgresql94-libs service postgresql-9.4 initdb &#8230; sed -i &#8220;\/^host\/s\/ident\/md5\/g&#8221; \/var\/lib\/pgsql\/9.4\/data\/pg_hba.conf &#8230; \/sbin\/chkconfig &#8211;level 35 postgresql-9.4 on service postgresql-9.4 start &#8230; echo -e &#8220;$TAIGA_POSTGRES_PASSWORDn$TAIGA_POSTGRES_PASSWORDn&#8221; | su &#8211; postgres -c &#8220;createuser &#8211;pwprompt $TAIGA_POSTGRES_USER&#8221; su &#8211; postgres -c &#8220;createdb $TAIGA_POSTGRES_BD -O $TAIGA_POSTGRES_USER&#8221; Installing Python &#8230; wget &#8211;directory-prefix=\/tmp http:\/\/repo.continuum.io\/miniconda\/Miniconda3-3.7.0-Linux-x86_64.sh bash \/tmp\/Miniconda3-3.7.0-Linux-x86_64.sh -b -p \/usr\/local\/miniconda3 &#8230; cat &gt; \/etc\/profile.d\/miniconda.sh &lt;&lt; EOF if [[ $PATH != *\/usr\/local\/miniconda3\/bin* ]] then export PATH=\/usr\/local\/miniconda3\/bin:$PATH fi EOF &#8230; source \/etc\/profile.d\/miniconda.sh Installing Taiga Backend &#8230; TAIGA_SECRET_KEY=`&lt; \/dev\/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;` adduser taiga DIR=&#8221;\/var\/log\/taiga \/opt\/taiga-back \/opt\/taiga-events&#8221; for NAME in $DIR do if [ ! -d $NAME ]; then mkdir $NAME chown taiga.taiga $NAME fi done &#8230; su &#8211; taiga git clone https:\/\/github.com\/taigaio\/taiga-back.git \/opt\/taiga-back cd \/opt\/taiga-back git checkout stable Create environment&#8230; conda create &#8211;yes -n taiga python source activate taiga conda install &#8211;yes pip Installing taiga.io requirements&#8230; export PATH=$PATH:\/usr\/pgsql-9.4\/bin\/ pip install -r requirements.txt exit Configure backend&#8230; cat &gt; \/opt\/taiga-back\/settings\/local.py [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[5],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-cs","jetpack-related-posts":[{"id":729,"url":"https:\/\/blog.box.kr\/?p=729","url_meta":{"origin":772,"position":0},"title":"install PostgreSQL on CentOS7","date":"2015-04-21","format":false,"excerpt":"1.\u00a0Install ( \u00a02015-04-21 > \ucd5c\uc2e0 \ubc84\uc804\uc740 9.4\u00a0 ) [root@localhost ~]# rpm -Uvh http:\/\/yum.postgresql.org\/9.4\/redhat\/rhel-7-x86_64\/pgdg-centos94-9.4-1.noarch.rpm http:\/\/yum.postgresql.org\/9.4\/redhat\/rhel-7-x86_64\/pgdg-centos94-9.4-1.noarch.rpm(\uc744)\ub97c \ubcf5\uad6c\ud569\ub2c8\ub2e4 \uacbd\uace0: \/var\/tmp\/rpm-tmp.z0BMz8: Header V4 DSA\/SHA1 Signature, key ID 442df0f8: NOKEY \uc900\ube44 \uc911...\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ################################# [100%] Updating \/ installing... 1:pgdg-centos94-9.4-1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ################################# [100%] [root@localhost ~]# yum install postgresql94 postgresql94-server postgresql94-libs postgresql94-contrib postgresql94 Loaded plugins: fastestmirror, langpacks http:\/\/linuxdownload.adobe.com\/linux\/x86_64\/repodata\/repomd.xml: [Errno\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":864,"url":"https:\/\/blog.box.kr\/?p=864","url_meta":{"origin":772,"position":1},"title":"How to Install Git 2.4.2 on CentOS\/Redhat 7,6,5 and Fedora 20\/19","date":"2015-05-27","format":false,"excerpt":"http:\/\/tecadmin.net\/install-git-2-0-on-centos-rhel-fedora\/ Git has released 2.4.2\u00a0version on May 26, 2015.It has lots of noticeable changes over git 1.9 release. Git is a free and open source distributed version control system . It is designed to handle a small to very large projects with speed and efficiency. To know more about read\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":824,"url":"https:\/\/blog.box.kr\/?p=824","url_meta":{"origin":772,"position":2},"title":"[scrap]Step-by-Step Bugzilla Installation Guide for Linux","date":"2015-05-20","format":false,"excerpt":"http:\/\/www.thegeekstuff.com\/2010\/05\/install-bugzilla-on-linux\/ \u00a0 \u00a0 Bugzilla is the best open source bug tracking system. Very simple to use with lot of features. Bugzilla allows you to track the bugs and collaborate with developers and other teams in your organization effectively. This is a detailed step-by-step bugzilla installation guide for Linux. 1. Verify\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/static.thegeekstuff.com\/wp-content\/uploads\/2008\/10\/bugzilla-logo-260x300.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":770,"url":"https:\/\/blog.box.kr\/?p=770","url_meta":{"origin":772,"position":3},"title":"Bugzilla \uc124\uce58\uc2dc compiler error ( Lib, Module \uc5c6\ub2e4\ub294.. \uc624\ub958 )","date":"2015-05-11","format":false,"excerpt":"-lz \uc624\ub958\ub294 yum\u00a0-y install \u00a0zlib-devel -lssl \uc624\ub958\ub294 yum -y install openssl-devel \u00a0 -lcrypto \uc624\ub958\ub294 yum install -y openssl-devel \u00a0","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":781,"url":"https:\/\/blog.box.kr\/?p=781","url_meta":{"origin":772,"position":4},"title":"Install Telegram-cli on Centos7","date":"2015-05-13","format":false,"excerpt":"1. lua package install yum -y install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel 1. git clone git clone --recursive https:\/\/github.com\/vysheng\/tg.git telegram 2. configure and make .\/configure \u00a0 \u00a0 \u00a0make \u00a0 \u00a0","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":894,"url":"https:\/\/blog.box.kr\/?p=894","url_meta":{"origin":772,"position":5},"title":"How To Install Cassandra on CentOS 7","date":"2015-06-16","format":false,"excerpt":"Apache Cassandra is a NoSQL database intended for storing large amounts of data in a decentralized, highly available cluster. NoSQL refers to a database with a data model other than the tabular relations used in relational databases such as MySQL, PostgreSQL, and Microsoft SQL. Pre-Flight Check These instructions are intended\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/772"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=772"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/772\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}