forked from ScoDoc/ScoDoc
removed obsolete install scripts
This commit is contained in:
parent
5906ba6283
commit
edd59ceab3
@ -1,256 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# ScoDoc: install third-party software necessary for our installation
|
||||
# starting for a minimal Debian (Wheezy, 7.0) install.
|
||||
#
|
||||
# E. Viennet, Jun 2008, Apr 2009, Sept 2011, Sept 2013, Nov 2013
|
||||
#
|
||||
|
||||
source config.sh
|
||||
source utils.sh
|
||||
|
||||
check_uid_root $0
|
||||
|
||||
PYTHON=/opt/zope213/bin/python
|
||||
|
||||
# ------------ Safety checks
|
||||
if [ ${debian_version} != "7" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(arch) != "x86_64" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible (pas X86 64 bits)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ------------ Permissions
|
||||
# source dir should be writable by scodoc to write bytecode files
|
||||
chgrp www-data $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
chmod g+w $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
|
||||
chgrp -R www-data "${SCODOC_DIR}"/static/photos
|
||||
chmod -R g+w "${SCODOC_DIR}"/static/photos
|
||||
|
||||
# ------------ LOCALES
|
||||
echo
|
||||
echo '---- Configuration des locales...'
|
||||
echo
|
||||
|
||||
if [ ! -e /etc/locale.gen ]
|
||||
then
|
||||
touch /etc/locale.gen
|
||||
fi
|
||||
|
||||
|
||||
for locname in en_US.UTF-8 en_US.ISO-8859-15 en_US.ISO-8859-1
|
||||
do
|
||||
outname=$(echo ${locname//-/} | tr '[A-Z]' '[a-z]')
|
||||
if [ $(locale -a | egrep -i ^${outname}$ | wc -l) -lt 1 ]
|
||||
then
|
||||
echo adding $locname
|
||||
echo "$locname ${locname##*.}" >> /etc/locale.gen
|
||||
fi
|
||||
done
|
||||
|
||||
/usr/sbin/locale-gen --keep-existing
|
||||
|
||||
|
||||
if [ "$LANG" != "en_US.UTF-8" ]
|
||||
then
|
||||
# ceci est necessaire a cause de postgresql 8.3 qui
|
||||
# cree son cluster lors de l'install avec la locale par defaut !
|
||||
echo "Attention: changement de la locale par defaut"
|
||||
mv /etc/default/locale /etc/default/locale.orig
|
||||
echo "LANG=\"en_US.UTF-8\"" > /etc/default/locale
|
||||
export LANG=en_US.UTF-8
|
||||
fi
|
||||
echo 'Done.'
|
||||
|
||||
|
||||
# ------------ AJOUT DES PAQUETS NECESSAIRES
|
||||
apt-get update
|
||||
apt-get -y dist-upgrade
|
||||
apt-get -y install subversion curl cracklib-runtime firehol
|
||||
apt-get -y install apache2 ssl-cert
|
||||
apt-get -y install postgresql-9.1 postgresql-client-9.1
|
||||
apt-get -y install graphviz
|
||||
|
||||
# ------------ INSTALL DES EXTENSIONS PYTHON (2.7)
|
||||
|
||||
apt-get -y install python-jaxml
|
||||
apt-get -y install python-psycopg2
|
||||
apt-get -y install python-pyrss2gen
|
||||
apt-get -y install python-imaging python-reportlab
|
||||
apt-get -y install python-cracklib # was python-crack
|
||||
apt-get -y install python-pyparsing
|
||||
apt-get -y install python-beautifulsoup
|
||||
|
||||
apt-get -y install python-egenix-mxtools python-egenix-mxdatetime
|
||||
|
||||
# Installe la version standard de pydot (XXX A TESTER)
|
||||
# apt-get -y install python-pydot
|
||||
# python-pydot is currently bugged in Debian 5: install our 0.9.10
|
||||
# Le probleme: pydot v > 1 a change l'API : resultat de get_node est une liste. Resolu par sco_utils.pydot_get_node
|
||||
# pydot 1.0.25 bug avec python 2.4 (get_node_list() renvoie toujours [])
|
||||
# 1.0.3 idem (voir misc/testpydot.py)
|
||||
echo '\nInstallation de pydot\n'
|
||||
apt-get -y remove python-pydot
|
||||
(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pydot-0.9.10.tar.gz)
|
||||
(cd /tmp/pydot-0.9.10; $PYTHON setup.py install)
|
||||
|
||||
|
||||
# UNUSED BY ScoDoc 7:
|
||||
# SOFTS="$SCODOC_DIR/config/softs"
|
||||
|
||||
# ------------ Upgrade from svn
|
||||
(cd "${SCODOC_DIR}"; svn update)
|
||||
|
||||
# ------------
|
||||
SVNVERSION=$(cd ..; svnversion)
|
||||
SVERSION=$(curl --silent http://scodoc.iutv.univ-paris13.fr/scodoc-installmgr/version?mode=install\&svn=$SVNVERSION)
|
||||
echo $SVERSION > "${SCODOC_VERSION_DIR}/scodoc.sn"
|
||||
|
||||
|
||||
# ------------ PYEXCELERATOR
|
||||
echo
|
||||
echo 'Installation de pyExcelerator'
|
||||
echo
|
||||
|
||||
(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pyExcelerator-0.6.3a.patched.tgz)
|
||||
(cd /tmp/pyExcelerator-0.6.3a.patched; $PYTHON setup.py install)
|
||||
|
||||
echo 'Done.'
|
||||
|
||||
# ------------ POSTFIX
|
||||
echo
|
||||
echo "ScoDoc a besoin de pouvoir envoyer des messages par mail."
|
||||
echo -n "Voulez vous configurer la messagerie (tres recommande) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
apt-get -y install postfix
|
||||
fi
|
||||
|
||||
# ------------ CONFIG FIREWALL
|
||||
echo
|
||||
echo "Le firewall aide a proteger votre serveur d'intrusions indesirables."
|
||||
echo -n "Voulez vous installer un firewall minimal ? (y/n) [n] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" = 'Y' ]
|
||||
then
|
||||
echo 'Installation du firewall IP (voir /etc/firehol/firehol.conf)'
|
||||
echo "Attention: suppose que l'interface reseau vers Internet est eth0"
|
||||
echo " si ce n'est pas le cas, editer /etc/firehol/firehol.conf"
|
||||
echo " et relancer: /etc/init.d/firehol restart"
|
||||
echo
|
||||
cp $SCODOC_DIR/config/etc/firehol.conf /etc/firehol/
|
||||
mv /etc/default/firehol /etc/default/firehol.orig
|
||||
cat /etc/default/firehol.orig | sed 's/START_FIREHOL=NO/START_FIREHOL=YES/' > /tmp/firehol && mv /tmp/firehol /etc/default/firehol
|
||||
# mise a jour RESERVED_IPS (le script fournit en Deb 7 get-iana est buggy)
|
||||
echo yes | $SCODOC_DIR/config/softs/get-iana.sh
|
||||
fi
|
||||
|
||||
# Nota: after this point, the network may be unreachable
|
||||
# (if firewall config is wrong)
|
||||
|
||||
# ------------ CONFIG APACHE
|
||||
a2enmod ssl
|
||||
a2enmod proxy
|
||||
a2enmod proxy_http
|
||||
a2enmod rewrite
|
||||
|
||||
echo
|
||||
echo "La configuration du serveur web va modifier votre installation Apache pour supporter ScoDoc."
|
||||
echo -n "Voulez vous configurer le serveur web Apache maintenant ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo "Configuration d'Apache"
|
||||
server_name=""
|
||||
while [ -z $server_name ]
|
||||
do
|
||||
echo "Le nom de votre serveur doit normalement etre connu dans le DNS."
|
||||
echo -n "Nom complet de votre serveur (exemple: notes.univ.fr): "
|
||||
read server_name
|
||||
done
|
||||
# --- CERTIFICATS AUTO-SIGNES
|
||||
echo
|
||||
echo "Il est possible d'utiliser des certificats cryptographiques"
|
||||
echo "auto-signes, qui ne seront pas reconnus comme de confiance"
|
||||
echo "par les navigateurs, mais offrent une certaine securite."
|
||||
echo -n 'Voulez vous generer des certificats ssl auto-signes ? (y/n) [y] '
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
# attention: utilise dans scodoc-site-ssl.orig
|
||||
ssl_dir=/etc/apache2/scodoc-ssl
|
||||
if [ ! -e $ssl_dir ]
|
||||
then
|
||||
mkdir $ssl_dir
|
||||
fi
|
||||
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf $ssl_dir/apache.pem
|
||||
fi
|
||||
# ---
|
||||
echo 'generation de /etc/apache2/sites-available/scodoc-site-ssl'
|
||||
cat $SCODOC_DIR/config/etc/scodoc-site-ssl.orig | sed -e "s:YOUR\.FULL\.HOST\.NAME:$server_name:g" > /etc/apache2/sites-available/scodoc-site-ssl
|
||||
echo 'activation du site...'
|
||||
a2ensite scodoc-site-ssl
|
||||
|
||||
echo 'Remplacement du site Apache par defaut (sic ! old saved as .bak)'
|
||||
fn=/etc/apache2/sites-available/default
|
||||
if [ -e $fn ]
|
||||
then
|
||||
mv $fn $fn.bak
|
||||
fi
|
||||
cp $SCODOC_DIR/config/etc/scodoc-site.orig $fn
|
||||
|
||||
if [ -z "$(grep Listen /etc/apache2/ports.conf | grep 443)" ]
|
||||
then
|
||||
echo 'adding port 443'
|
||||
echo 'Listen 443' >> /etc/apache2/ports.conf
|
||||
fi
|
||||
|
||||
echo 'configuring Apache proxy'
|
||||
mv /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.bak
|
||||
cat > /etc/apache2/mods-available/proxy.conf <<EOF
|
||||
<IfModule mod_proxy.c>
|
||||
# Proxy config for ScoDoc default installation
|
||||
ProxyRequests Off
|
||||
<ProxyMatch http://localhost:8080>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</ProxyMatch>
|
||||
</IfModule>
|
||||
EOF
|
||||
|
||||
/etc/init.d/apache2 restart
|
||||
fi
|
||||
|
||||
|
||||
# ------------ CONFIG SERVICE SCODOC
|
||||
echo
|
||||
echo "Installer le service scodoc permet de lancer automatiquement le serveur au demarrage."
|
||||
echo -n "Voulez vous installer le service scodoc ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo 'Installation du demarrage automatique de ScoDoc'
|
||||
cp $SCODOC_DIR/config/etc/scodoc /etc/init.d/
|
||||
insserv scodoc
|
||||
fi
|
||||
|
||||
# ------------ THE END
|
||||
echo
|
||||
echo "Installation terminee."
|
||||
echo
|
||||
echo "Vous pouvez maintenant creer la base d'utilisateurs avec ./create_user_db.sh"
|
||||
echo "puis creer un departement avec ./create_dept.sh"
|
||||
echo "Ou bien restaurer vos donnees a partir d'une ancienne installation a l'aide du script restore_scodoc_data.sh"
|
||||
echo "(voir https://trac.lipn.univ-paris13.fr/projects/scodoc/wiki/MigrationVersScoDocSept)"
|
||||
echo
|
||||
|
||||
|
@ -1,275 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# ScoDoc: install third-party software necessary for our installation
|
||||
# starting for a minimal Debian (Jessie, 8.0) install.
|
||||
#
|
||||
# E. Viennet, Jun 2008, Apr 2009, Sept 2011, Sept 2013, Nov 2013, Mar 2017
|
||||
#
|
||||
|
||||
source config.sh
|
||||
source utils.sh
|
||||
|
||||
check_uid_root $0
|
||||
|
||||
PYTHON=/opt/zope213/bin/python
|
||||
|
||||
# ------------ Safety checks
|
||||
if [ ${debian_version} != "8" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(arch) != "x86_64" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible (pas X86 64 bits)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ------------ Permissions
|
||||
# source dir should be writable by scodoc to write bytecode files
|
||||
chgrp www-data $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
chmod g+w $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
|
||||
chgrp -R www-data "${SCODOC_DIR}"/static/photos
|
||||
chmod -R g+w "${SCODOC_DIR}"/static/photos
|
||||
|
||||
# ------------ LOCALES
|
||||
echo
|
||||
echo '---- Configuration des locales...'
|
||||
echo
|
||||
|
||||
if [ ! -e /etc/locale.gen ]
|
||||
then
|
||||
touch /etc/locale.gen
|
||||
fi
|
||||
|
||||
|
||||
for locname in en_US.UTF-8 en_US.ISO-8859-15 en_US.ISO-8859-1
|
||||
do
|
||||
outname=$(echo ${locname//-/} | tr '[A-Z]' '[a-z]')
|
||||
if [ $(locale -a | egrep -i ^${outname}$ | wc -l) -lt 1 ]
|
||||
then
|
||||
echo adding $locname
|
||||
echo "$locname ${locname##*.}" >> /etc/locale.gen
|
||||
fi
|
||||
done
|
||||
|
||||
/usr/sbin/locale-gen --keep-existing
|
||||
|
||||
|
||||
if [ "$LANG" != "en_US.UTF-8" ]
|
||||
then
|
||||
# ceci est necessaire a cause de postgresql 8.3 qui
|
||||
# cree son cluster lors de l'install avec la locale par defaut !
|
||||
echo "Attention: changement de la locale par defaut"
|
||||
mv /etc/default/locale /etc/default/locale.orig
|
||||
echo "LANG=\"en_US.UTF-8\"" > /etc/default/locale
|
||||
export LANG=en_US.UTF-8
|
||||
fi
|
||||
echo 'Done.'
|
||||
|
||||
# ------------ FIX pour passage Debien 7 -> Debian 8
|
||||
chsh -s /bin/sh www-data
|
||||
|
||||
# ------------ AJOUT DES PAQUETS NECESSAIRES
|
||||
apt-get update
|
||||
apt-get -y install subversion curl cracklib-runtime firehol
|
||||
apt-get -y install apache2 ssl-cert
|
||||
apt-get -y install postgresql-9.4 postgresql-client-9.4
|
||||
apt-get -y install graphviz
|
||||
|
||||
# ------------ INSTALL DES EXTENSIONS PYTHON (2.7)
|
||||
|
||||
apt-get -y install python-jaxml
|
||||
apt-get -y install python-psycopg2
|
||||
apt-get -y install python-pyrss2gen
|
||||
apt-get -y install python-imaging python-reportlab
|
||||
apt-get -y install python-cracklib # was python-crack
|
||||
#apt-get -y install python-pyparsing
|
||||
apt-get -y install python-beautifulsoup
|
||||
|
||||
apt-get -y install python-egenix-mxtools python-egenix-mxdatetime
|
||||
|
||||
# pydot est un probleme: todo: rececrire l'affichae du graphe sans pydot
|
||||
# ou contribuer une versions ans bug de pydot
|
||||
# ou encore simplement eviter d'utiliser graph_from_edges ?
|
||||
#
|
||||
# python-pydot is currently bugged in Debian 5, 6, 7, 8: install our 0.9.10
|
||||
# Le probleme: pydot v > 1 a change l'API : resultat de get_node est une liste. Resolu par sco_utils.pydot_get_node
|
||||
# pydot 1.0.25 bug avec python 2.4 (get_node_list() renvoie toujours [])
|
||||
# 1.0.3 idem (voir misc/testpydot.py)
|
||||
# 1.2.4 / python2.7: bug graph_from_edges toujours là
|
||||
# voir https://bugs.launchpad.net/ubuntu/+source/pydot/+bug/490015
|
||||
echo '\nInstallation de pydot\n'
|
||||
|
||||
apt-get -y remove python-pydot
|
||||
# Version ancienne de pyparsing requise par pydot
|
||||
apt-get -y remove python-pyparsing
|
||||
/opt/zope213/bin/pip install pyparsing==1.5.7
|
||||
(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pydot-0.9.10.tar.gz)
|
||||
(cd /tmp/pydot-0.9.10; $PYTHON setup.py install)
|
||||
|
||||
|
||||
# UNUSED BY ScoDoc 7:
|
||||
# SOFTS="$SCODOC_DIR/config/softs"
|
||||
|
||||
# ------------
|
||||
SVNVERSION=$(cd ..; svnversion)
|
||||
SVERSION=$(curl --silent http://scodoc.iutv.univ-paris13.fr/scodoc-installmgr/version?mode=install\&svn=$SVNVERSION)
|
||||
echo $SVERSION > "${SCODOC_VERSION_DIR}/scodoc.sn"
|
||||
|
||||
|
||||
# ------------ PYEXCELERATOR
|
||||
# inutile en Debian 8 car dans l'image ScoDoc
|
||||
#echo
|
||||
#echo 'Installation de pyExcelerator'
|
||||
#echo
|
||||
#(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pyExcelerator-0.6.3a.patched.tgz)
|
||||
#(cd /tmp/pyExcelerator-0.6.3a.patched; $PYTHON setup.py install)
|
||||
#echo 'Done.'
|
||||
|
||||
# ------------ POSTFIX
|
||||
echo
|
||||
echo "ScoDoc a besoin de pouvoir envoyer des messages par mail."
|
||||
echo -n "Voulez vous configurer la messagerie (tres recommande) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
apt-get -y install postfix
|
||||
fi
|
||||
|
||||
# ------------ CONFIG FIREWALL
|
||||
echo
|
||||
echo "Le firewall aide a proteger votre serveur d'intrusions indesirables."
|
||||
echo -n "Voulez vous installer un firewall minimal ? (y/n) [n] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" = 'Y' ]
|
||||
then
|
||||
network_interface="eth0"
|
||||
echo 'Installation du firewall IP (voir /etc/firehol/firehol.conf)'
|
||||
echo "Attention: suppose que l'interface reseau vers Internet est eth0"
|
||||
echo " si ce n'est pas le cas, editer /etc/firehol/firehol.conf"
|
||||
echo " et relancer: /etc/init.d/firehol restart"
|
||||
echo
|
||||
cat $SCODOC_DIR/config/etc/firehol.conf | sed "s/XXX_INTERFACE_XXX/${network_interface}/" > /etc/firehol/firehol.conf
|
||||
mv /etc/default/firehol /etc/default/firehol.orig
|
||||
cat /etc/default/firehol.orig | sed 's/START_FIREHOL=NO/START_FIREHOL=YES/' > /tmp/firehol && mv /tmp/firehol /etc/default/firehol
|
||||
# mise a jour RESERVED_IPS (le script fournit en Deb 7 get-iana est buggy)
|
||||
echo yes | $SCODOC_DIR/config/softs/get-iana.sh
|
||||
fi
|
||||
|
||||
# Nota: after this point, the network may be unreachable
|
||||
# (if firewall config is wrong)
|
||||
|
||||
# ------------ CONFIG APACHE
|
||||
a2enmod ssl
|
||||
a2enmod proxy
|
||||
a2enmod proxy_http
|
||||
a2enmod rewrite
|
||||
|
||||
echo
|
||||
echo "La configuration du serveur web va modifier votre installation Apache pour supporter ScoDoc."
|
||||
echo -n "Voulez vous configurer le serveur web Apache maintenant (tres conseille) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo "Configuration d'Apache"
|
||||
server_name=""
|
||||
while [ -z $server_name ]
|
||||
do
|
||||
echo "Le nom de votre serveur doit normalement etre connu dans le DNS."
|
||||
echo -n "Nom complet de votre serveur (exemple: notes.univ.fr): "
|
||||
read server_name
|
||||
done
|
||||
# --- CERTIFICATS AUTO-SIGNES
|
||||
echo
|
||||
echo "Il est possible d'utiliser des certificats cryptographiques"
|
||||
echo "auto-signes, qui ne seront pas reconnus comme de confiance"
|
||||
echo "par les navigateurs, mais offrent une certaine securite."
|
||||
echo -n 'Voulez vous generer des certificats ssl auto-signes ? (y/n) [y] '
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
# attention: utilise dans scodoc-site-ssl.orig
|
||||
ssl_dir=/etc/apache2/scodoc-ssl
|
||||
if [ ! -e $ssl_dir ]
|
||||
then
|
||||
mkdir $ssl_dir
|
||||
fi
|
||||
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf $ssl_dir/apache.pem
|
||||
cert_status=$?
|
||||
else
|
||||
cert_status=-1
|
||||
fi
|
||||
# ---
|
||||
echo 'generation de /etc/apache2/sites-available/scodoc-site-ssl'
|
||||
cat $SCODOC_DIR/config/etc/scodoc-site-ssl-apache2.4.orig | sed -e "s:YOUR\.FULL\.HOST\.NAME:$server_name:g" > /etc/apache2/sites-available/scodoc-site-ssl.conf
|
||||
echo 'activation du site...'
|
||||
a2ensite scodoc-site-ssl
|
||||
|
||||
echo 'Remplacement du site Apache par defaut (sic ! old saved as .bak)'
|
||||
fn=/etc/apache2/sites-available/000-default.conf
|
||||
if [ -e $fn ]
|
||||
then
|
||||
mv $fn $fn.bak
|
||||
fi
|
||||
cp $SCODOC_DIR/config/etc/scodoc-site.orig $fn
|
||||
|
||||
if [ -z "$(grep Listen /etc/apache2/ports.conf | grep 443)" ]
|
||||
then
|
||||
echo 'adding port 443'
|
||||
echo 'Listen 443' >> /etc/apache2/ports.conf
|
||||
fi
|
||||
|
||||
echo 'configuring Apache proxy'
|
||||
mv /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.bak
|
||||
cat > /etc/apache2/mods-available/proxy.conf <<EOF
|
||||
<IfModule mod_proxy.c>
|
||||
# Proxy config for ScoDoc default installation
|
||||
ProxyRequests Off
|
||||
<ProxyMatch http://localhost:8080>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</ProxyMatch>
|
||||
</IfModule>
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
service apache2 restart
|
||||
|
||||
|
||||
# ------------ CONFIG SERVICE SCODOC
|
||||
echo
|
||||
echo "Installer le service scodoc permet de lancer automatiquement le serveur au demarrage."
|
||||
echo -n "Voulez vous installer le service scodoc ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo 'Installation du demarrage automatique de ScoDoc'
|
||||
cp $SCODOC_DIR/config/etc/scodoc /etc/init.d/
|
||||
insserv scodoc
|
||||
fi
|
||||
|
||||
# ------------ THE END
|
||||
echo
|
||||
echo "Installation terminee."
|
||||
echo
|
||||
echo "Vous pouvez maintenant creer la base d'utilisateurs avec ./create_user_db.sh"
|
||||
echo "puis creer un departement avec ./create_dept.sh"
|
||||
echo "Ou bien restaurer vos donnees a partir d'une ancienne installation a l'aide du script restore_scodoc_data.sh"
|
||||
echo "(voir https://trac.lipn.univ-paris13.fr/projects/scodoc/wiki/MigrationDonneesScoDoc)"
|
||||
echo
|
||||
|
||||
if [ "${cert_status}" != 0 ]
|
||||
then
|
||||
echo "Attention: le serveur Web Apache n'a pas de certificat."
|
||||
echo "Il est probable qu'il ne fonctionne pas."
|
||||
echo "Installez vos certificats ou generez provisoirement des certificats autosignes"
|
||||
echo "avec la commande: /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf $ssl_dir/apache.pem"
|
||||
echo
|
||||
fi
|
||||
|
||||
|
@ -1,302 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# ScoDoc: install third-party software necessary for our installation
|
||||
# starting for a minimal Debian (Stretch, 9.0) install.
|
||||
#
|
||||
# E. Viennet, Jun 2008, Apr 2009, Sept 2011, Sept 2013, Nov 2013, Mar 2017, Jul 2017, Jun 2019
|
||||
#
|
||||
|
||||
source config.sh
|
||||
source utils.sh
|
||||
|
||||
check_uid_root $0
|
||||
|
||||
PYTHON=/opt/zope213/bin/python
|
||||
|
||||
# ------------ Safety checks
|
||||
if [ ${debian_version} != "9" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(arch) != "x86_64" ]
|
||||
then
|
||||
echo "Version du systeme Linux Debian incompatible (pas X86 64 bits)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ------------ Permissions & directories
|
||||
# source dir should be writable by scodoc to write bytecode files
|
||||
chgrp www-data $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
chmod g+w $SCODOC_DIR $SCODOC_DIR/ZopeProducts/*
|
||||
|
||||
chgrp -R www-data "${SCODOC_DIR}"/static/photos
|
||||
chmod -R g+w "${SCODOC_DIR}"/static/photos
|
||||
|
||||
if [ ! -e "${SCODOC_VERSION_DIR}" ]; then
|
||||
mkdir "${SCODOC_VERSION_DIR}"
|
||||
chown www-data.www-data "${SCODOC_VERSION_DIR}"
|
||||
fi
|
||||
|
||||
# ------------ LOCALES
|
||||
echo
|
||||
echo '---- Configuration des locales...'
|
||||
echo
|
||||
|
||||
if [ ! -e /etc/locale.gen ]
|
||||
then
|
||||
touch /etc/locale.gen
|
||||
fi
|
||||
|
||||
|
||||
for locname in en_US.UTF-8 en_US.ISO-8859-15 en_US.ISO-8859-1
|
||||
do
|
||||
outname=$(echo ${locname//-/} | tr '[A-Z]' '[a-z]')
|
||||
if [ $(locale -a | egrep -i ^${outname}$ | wc -l) -lt 1 ]
|
||||
then
|
||||
echo adding $locname
|
||||
echo "$locname ${locname##*.}" >> /etc/locale.gen
|
||||
fi
|
||||
done
|
||||
|
||||
/usr/sbin/locale-gen --keep-existing
|
||||
|
||||
|
||||
if [ "$LANG" != "en_US.UTF-8" ]
|
||||
then
|
||||
# ceci est necessaire a cause de postgresql 8.3 qui
|
||||
# cree son cluster lors de l'install avec la locale par defaut !
|
||||
echo "Attention: changement de la locale par defaut"
|
||||
mv /etc/default/locale /etc/default/locale.orig
|
||||
echo "LANG=\"en_US.UTF-8\"" > /etc/default/locale
|
||||
export LANG=en_US.UTF-8
|
||||
fi
|
||||
echo 'Done.'
|
||||
|
||||
# ------------ FIX pour passage Debian 7 -> Debian 8
|
||||
chsh -s /bin/sh www-data
|
||||
|
||||
# ------------ AJOUT DES PAQUETS NECESSAIRES
|
||||
apt-get update
|
||||
apt-get -y install subversion curl cracklib-runtime
|
||||
apt-get -y install apache2 ssl-cert
|
||||
apt-get -y install firehol
|
||||
apt-get -y install insserv
|
||||
apt-get -y install postgresql-9.6 postgresql-client-9.6
|
||||
apt-get -y install graphviz
|
||||
|
||||
# ------------ INSTALL DES EXTENSIONS PYTHON (2.7)
|
||||
|
||||
apt-get -y install python-docutils
|
||||
apt-get -y install python-jaxml
|
||||
apt-get -y install python-psycopg2
|
||||
apt-get -y install python-pyrss2gen
|
||||
apt-get -y install python-imaging python-reportlab
|
||||
apt-get -y install python-cracklib # was python-crack
|
||||
#apt-get -y install python-pyparsing
|
||||
apt-get -y install python-beautifulsoup
|
||||
|
||||
apt-get -y install python-egenix-mxtools python-egenix-mxdatetime
|
||||
|
||||
# pydot est un probleme: todo: rececrire l'affichage du graphe sans pydot
|
||||
# ou contribuer une versions sans bug de pydot
|
||||
# ou encore simplement eviter d'utiliser graph_from_edges ?
|
||||
#
|
||||
# python-pydot is currently bugged in Debian 5, 6, 7, 8: install our 0.9.10
|
||||
# Le probleme: pydot v > 1 a change l'API : resultat de get_node est une liste. Resolu par sco_utils.pydot_get_node
|
||||
# pydot 1.0.25 bug avec python 2.4 (get_node_list() renvoie toujours [])
|
||||
# 1.0.3 idem (voir misc/testpydot.py)
|
||||
# 1.2.4 / python2.7: bug graph_from_edges toujours là
|
||||
# voir https://bugs.launchpad.net/ubuntu/+source/pydot/+bug/490015
|
||||
echo '\nInstallation de pydot\n'
|
||||
|
||||
apt-get -y remove python-pydot
|
||||
# Version ancienne de pyparsing requise par pydot
|
||||
apt-get -y remove python-pyparsing
|
||||
/opt/zope213/bin/pip install pyparsing==1.5.7
|
||||
(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pydot-0.9.10.tar.gz)
|
||||
(cd /tmp/pydot-0.9.10; $PYTHON setup.py install)
|
||||
|
||||
# Fix dateutil:
|
||||
/opt/zope213/bin/pip install python-dateutil --upgrade
|
||||
|
||||
# UNUSED BY ScoDoc 7:
|
||||
# SOFTS="$SCODOC_DIR/config/softs"
|
||||
|
||||
# ------------
|
||||
SVNVERSION=$(cd ..; svnversion)
|
||||
SVERSION=$(curl --silent http://scodoc.iutv.univ-paris13.fr/scodoc-installmgr/version?mode=install\&svn=$SVNVERSION)
|
||||
echo $SVERSION > "${SCODOC_VERSION_DIR}/scodoc.sn"
|
||||
|
||||
|
||||
# ------------ PYEXCELERATOR
|
||||
# inutile en Debian 8 car dans l'image ScoDoc
|
||||
#echo
|
||||
#echo 'Installation de pyExcelerator'
|
||||
#echo
|
||||
#(cd /tmp; tar xfz $SCODOC_DIR/config/softs/pyExcelerator-0.6.3a.patched.tgz)
|
||||
#(cd /tmp/pyExcelerator-0.6.3a.patched; $PYTHON setup.py install)
|
||||
#echo 'Done.'
|
||||
|
||||
# ------------ POSTFIX
|
||||
echo
|
||||
echo "ScoDoc a besoin de pouvoir envoyer des messages par mail."
|
||||
echo -n "Voulez vous configurer la messagerie (tres recommande) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
apt-get -y install postfix
|
||||
fi
|
||||
|
||||
# ------------ CONFIG FIREWALL
|
||||
echo
|
||||
echo "Le firewall aide a proteger votre serveur d'intrusions indesirables."
|
||||
echo -n "Voulez vous installer un firewall minimal (firehol) ? (y/n) [n] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" = 'Y' ]
|
||||
then
|
||||
echo 'Installation du firewall IP (voir /etc/firehol/firehol.conf)'
|
||||
echo "Debian 9 n'utilise plus eth0 mais des noms fixes, comme enp0s3"
|
||||
echo "Vos interfaces reseau actuelles sont:"
|
||||
ip a
|
||||
echo -n "Nom de votre interface reseau vers Internet ? "
|
||||
read network_interface
|
||||
echo "Attention: configure l'interface reseau vers Internet ${network_interface}"
|
||||
echo " si ce n'est pas le cas, editer /etc/firehol/firehol.conf"
|
||||
echo " et relancer: /etc/init.d/firehol restart"
|
||||
echo
|
||||
cat $SCODOC_DIR/config/etc/firehol.conf | sed "s/XXX_INTERFACE_XXX/${network_interface}/" > /etc/firehol/firehol.conf
|
||||
mv /etc/default/firehol /etc/default/firehol.orig
|
||||
cat /etc/default/firehol.orig | sed 's/START_FIREHOL=NO/START_FIREHOL=YES/' > /tmp/firehol && mv /tmp/firehol /etc/default/firehol
|
||||
# mise a jour RESERVED_IPS (le script fournit en Deb 7 get-iana est buggy)
|
||||
echo yes | $SCODOC_DIR/config/softs/get-iana.sh
|
||||
fi
|
||||
|
||||
# Nota: after this point, the network may be unreachable
|
||||
# (if firewall config is wrong)
|
||||
|
||||
# ------------ CONFIG APACHE
|
||||
a2enmod ssl
|
||||
a2enmod proxy
|
||||
a2enmod proxy_http
|
||||
a2enmod rewrite
|
||||
|
||||
echo
|
||||
echo "La configuration du serveur web va modifier votre installation Apache pour supporter ScoDoc."
|
||||
echo -n "Voulez vous configurer le serveur web Apache maintenant (tres conseille) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo "Configuration d'Apache"
|
||||
server_name=""
|
||||
while [ -z $server_name ]
|
||||
do
|
||||
echo "Le nom de votre serveur doit normalement etre connu dans le DNS."
|
||||
echo -n "Nom complet de votre serveur (exemple: notes.univ.fr): "
|
||||
read server_name
|
||||
done
|
||||
# --- CERTIFICATS AUTO-SIGNES
|
||||
echo
|
||||
echo "Il est possible d'utiliser des certificats cryptographiques"
|
||||
echo "auto-signes, qui ne seront pas reconnus comme de confiance"
|
||||
echo "par les navigateurs, mais offrent une certaine securite."
|
||||
echo -n 'Voulez vous generer des certificats ssl auto-signes ? (y/n) [y] '
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
# attention: utilise dans scodoc-site-ssl.orig
|
||||
ssl_dir=/etc/apache2/scodoc-ssl
|
||||
if [ ! -e $ssl_dir ]
|
||||
then
|
||||
mkdir $ssl_dir
|
||||
fi
|
||||
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf $ssl_dir/apache.pem
|
||||
cert_status=$?
|
||||
else
|
||||
cert_status=-1
|
||||
fi
|
||||
# ---
|
||||
echo 'generation de /etc/apache2/sites-available/scodoc-site-ssl'
|
||||
cat $SCODOC_DIR/config/etc/scodoc-site-ssl-apache2.4.orig | sed -e "s:YOUR\.FULL\.HOST\.NAME:$server_name:g" > /etc/apache2/sites-available/scodoc-site-ssl.conf
|
||||
echo 'activation du site...'
|
||||
a2ensite scodoc-site-ssl
|
||||
|
||||
echo 'Remplacement du site Apache par defaut (sic ! old saved as .bak)'
|
||||
fn=/etc/apache2/sites-available/000-default.conf
|
||||
if [ -e $fn ]
|
||||
then
|
||||
mv $fn $fn.bak
|
||||
fi
|
||||
cp $SCODOC_DIR/config/etc/scodoc-site.orig $fn
|
||||
|
||||
if [ -z "$(grep Listen /etc/apache2/ports.conf | grep 443)" ]
|
||||
then
|
||||
echo 'adding port 443'
|
||||
echo 'Listen 443' >> /etc/apache2/ports.conf
|
||||
fi
|
||||
|
||||
echo 'configuring Apache proxy'
|
||||
mv /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.bak
|
||||
cat > /etc/apache2/mods-available/proxy.conf <<EOF
|
||||
<IfModule mod_proxy.c>
|
||||
# Proxy config for ScoDoc default installation
|
||||
ProxyRequests Off
|
||||
<ProxyMatch http://localhost:8080>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</ProxyMatch>
|
||||
</IfModule>
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
service apache2 restart
|
||||
|
||||
|
||||
# ------------ CONFIG SERVICE SCODOC
|
||||
echo
|
||||
echo "Installer le service scodoc permet de lancer automatiquement le serveur au demarrage."
|
||||
echo -n "Voulez vous installer le service scodoc ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
echo 'Installation du demarrage automatique de ScoDoc'
|
||||
cp $SCODOC_DIR/config/etc/scodoc /etc/init.d/
|
||||
insserv scodoc
|
||||
fi
|
||||
|
||||
|
||||
# ------------ CONFIG MISE A JOUR HEBDOMADAIRE
|
||||
echo
|
||||
echo -n "Mises a jour hebdomadaires (tres recommande) ? (y/n) [y] "
|
||||
read ans
|
||||
if [ "$(norm_ans "$ans")" != 'N' ]
|
||||
then
|
||||
cp $SCODOC_DIR/config/etc/scodoc-updater.service /etc/systemd/system
|
||||
cp $SCODOC_DIR/config/etc/scodoc-updater.timer /etc/systemd/system
|
||||
systemctl enable scodoc-updater.timer
|
||||
systemctl start scodoc-updater.timer
|
||||
fi
|
||||
|
||||
# ------------ THE END
|
||||
echo
|
||||
echo "Installation terminee."
|
||||
echo
|
||||
echo "Vous pouvez maintenant creer la base d'utilisateurs avec ./create_user_db.sh"
|
||||
echo "puis creer un departement avec ./create_dept.sh"
|
||||
echo "Ou bien restaurer vos donnees a partir d'une ancienne installation a l'aide du script restore_scodoc_data.sh"
|
||||
echo "(voir https://trac.lipn.univ-paris13.fr/projects/scodoc/wiki/MigrationDonneesScoDoc)"
|
||||
echo
|
||||
|
||||
|
||||
if [ "${cert_status}" != 0 ]
|
||||
then
|
||||
echo "Attention: le serveur Web Apache n'a pas de certificat."
|
||||
echo "Il est probable qu'il ne fonctionne pas."
|
||||
echo "Installez vos certificats ou generez provisoirement des certificats autosignes"
|
||||
echo "avec la commande: /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf $ssl_dir/apache.pem"
|
||||
echo
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user