2 # Install FusionForge from source
4 # Copyright (C) 2011, 2019, Roland Mas
5 # Copyright (C) 2011, Olivier Berger - Institut Telecom
6 # Copyright (C) 2014, Inria (Sylvain Beucler)
7 # Copyright 2017,2019,2021 Franck Villaume - TrivialDev
9 # This file is part of FusionForge. FusionForge is free software;
10 # you can redistribute it and/or modify it under the terms of the
11 # GNU General Public License as published by the Free Software
12 # Foundation; either version 2 of the Licence, or (at your option)
15 # FusionForge is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License along
21 # with FusionForge; if not, write to the Free Software Foundation, Inc.,
22 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 . $(dirname $0)/common-backports
28 # Install FusionForge dependencies
29 if [ -e /etc/debian_version ]; then
30 export DEBIAN_FRONTEND=noninteractive
32 apt-get update || true
33 if grep -q ^8 /etc/debian_version; then
34 apt-get install -y make gettext php5-cli php5-pgsql php-htmlpurifier php-http php-text-captcha \
35 libapache2-mpm-itk libapache2-mod-svn \
37 apache2 postgresql postgresql-contrib libnss-pgsql2 unscd \
38 cvs subversion viewvc python-pycurl git mercurial bzr loggerhead xinetd mksh \
39 python-moinmoin libapache2-mod-wsgi python-psycopg2 \
40 unoconv poppler-utils dpkg-dev \
44 apt-get -y install mediawiki -t jessie-backports
45 elif grep -q ^9 /etc/debian_version; then
46 apt-get install -y make gettext php-cli php-pgsql php-htmlpurifier php-http php-text-captcha php-soap \
47 libapache2-mpm-itk libapache2-mod-svn \
49 apache2 postgresql postgresql-contrib libnss-pgsql2 unscd \
50 cvs subversion viewvc python-pycurl libcgi-pm-perl git mercurial bzr xinetd mksh \
51 python-moinmoin libapache2-mod-wsgi python-psycopg2 \
52 unoconv poppler-utils dpkg-dev \
55 fonts-dejavu-core mediawiki
56 elif grep -q ^10 /etc/debian_version; then
57 apt-get install -y make gettext php-cli php-pgsql php-htmlpurifier php-http php-soap php-pear ca-certificates \
58 libapache2-mpm-itk libapache2-mod-svn \
60 apache2 postgresql postgresql-contrib libnss-pgsql2 unscd \
61 cvs subversion viewvc python-pycurl libcgi-pm-perl git mercurial bzr xinetd mksh \
62 python-moinmoin libapache2-mod-wsgi python-psycopg2 \
63 unoconv poppler-utils dpkg-dev \
66 fonts-dejavu-core mediawiki
68 apt-get install -y wget php-pear
70 wget http://ftp.fr.debian.org/debian/pool/main/p/php-text-password/php-text-password_${ptpver}_all.deb
71 dpkg -i php-text-password_${ptpver}_all.deb
72 rm -f php-text-password_${ptpver}_all.deb
74 wget http://ftp.fr.debian.org/debian/pool/main/p/php-text-captcha/php-text-captcha_${ptcver}_all.deb
75 dpkg -i php-text-captcha_${ptcver}_all.deb
76 rm -f php-text-captcha_${ptcver}_all.deb
79 apt-get install -y make gettext php-cli php-pgsql php-htmlpurifier php-http php-soap php-pear php-text-captcha ca-certificates \
80 libapache2-mpm-itk libapache2-mod-svn \
82 apache2 postgresql postgresql-contrib libnss-pgsql2 unscd \
83 cvs subversion libcgi-pm-perl git mercurial bzr xinetd mksh \
84 unoconv poppler-utils dpkg-dev \
87 fonts-dejavu-core mediawiki
89 if ! pear list Text_CAPTCHA ; then
90 pear install Text_CAPTCHA
92 if ! dpkg-vendor --is Ubuntu; then
93 apt-get install locales-all # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1394929
95 elif [[ ! -z `cat /etc/os-release | grep 'SUSE'` ]]; then
98 suse_install_rpms make gettext-runtime php7 php7-gettext php7-posix php7-pgsql \
99 apache2 apache2-mod_php7 apache2-mod_wsgi apache2-mod_mpm_itk \
100 postgresql-server postgresql-contrib subversion \
101 php7-pear php-pear-HTMLPurifier php7-curl \
104 cvs rcs perl-IPC-Run perl-URI \
106 git git-web php7-pcntl \
109 mediawiki moinmoin-wiki \
111 suse_backport_from_fedora_rpm
113 yum install -y make tar
115 # Fedora/RHEL/CentOS version:
116 os_version=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release))
119 yum install -y gettext php-cli php-pgsql php-process php-mbstring php-pear-HTTP php-pear-Text-CAPTCHA \
120 httpd mod_dav_svn mod_ssl postgresql-server postgresql-contrib nscd \
121 cvs subversion viewvc python-pycurl git gitweb mercurial xinetd \
122 moin mod_wsgi python-psycopg2 \
123 unoconv poppler-utils libreoffice-headless \
124 ImageMagick php-markdown \
129 yum install -y gettext php php-cli php-pgsql php-process php-mbstring \
130 httpd mod_dav_svn mod_ssl postgresql-server postgresql-contrib nscd \
131 cvs subversion git gitweb mercurial xinetd \
132 unoconv poppler-utils libreoffice-headless \
136 #open port 80 & 443 if firewalld is running otherwise no need to adjust
137 firewall-cmd --zone=public --permanent --add-service=http || true
138 firewall-cmd --zone=public --permanent --add-service=https || true
139 firewall-cmd --reload || true
140 #enable prefork (we use itk & php7_module
141 echo 'LoadModule mpm_prefork_module modules/mod_mpm_prefork.so' > /etc/httpd/conf.modules.d/00-mpm.conf
142 echo 'LoadModule mpm_itk_module modules/mod_mpm_itk.so' > /etc/httpd/conf.modules.0/01-mpm.conf
148 cd $(dirname $0)/../src/
150 make install-base install-shell install-scm \
151 install-plugin-scmcvs install-plugin-scmsvn install-plugin-scmgit install-plugin-scmhg \
152 install-plugin-blocks \
153 install-plugin-taskboard install-plugin-message \
154 install-plugin-repositoryapi
155 if [ -e /etc/centos-release ] && ! grep -q "[[:space:]]8" /etc/centos-release; then
156 make install-plugin-mediawiki
158 if [ -e /etc/centos-release ] || grep -q ^8 /etc/debian_version; then
159 make install-plugin-scmbzr
161 if [ -e /etc/centos-release ] && ! grep -q "[[:space:]]8" /etc/centos-release;then
162 make install-plugin-moinmoin
164 if [ -e /etc/debian_version ] && ! grep -q ^11 /etc/debian_version; then
165 make install-plugin-moinmoin
167 if [ -e /etc/centos-release -o -e /etc/debian_version ]; then
168 make install-plugin-phptextcaptcha