SAC:staging2.www.osgeo.org

= OBSOLETE =
new staging is on osgeo4. Refer to 
wwwosgeo (staging server) is running on winnie.postgis.net virtual box ssh port 53022, passwords on secure/access server
=== Setup from Disk the prompts ===
# Virtual Box use VMDK, dynamically allocated, 100GB
# Start with debian-9.3.0-amd64-netinst.iso image ( https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.3.0-amd64-netinst.iso (2017-12-09)
(Regular install, don't use graphical)
# set mirror to debian.csail.mit.edu
# Participate in Package Usage: Yes
# Uncheck Debian Desktop Environment
# Check SSH server
# Check Web Server
# Uncheck Print Server
# Install Grub
# Select 2nd option (only drive)
=== Install LDAP SSH support ===
Note for the remainder of installs, I went with apt instead of (apt-get or aptitude)
Per Debian Handbook apt, apt is the preferred installer 
and what I saw being used for newer Debians.
 su root
 apt install locales-all libpam-ldapd libnss-ldapd
 apt install sudo
 apt install tcsh
# During install fill in below and check passwd, group, shadow 
 apt install ldapscripts
/etc/ldap/ldap.conf should have this
------------------------------------------
 BASE dc=osgeo, dc=org
 URI ldaps://ldap.osgeo.org/
 #SIZELIMIT 12
 #TIMELIMIT 15
 #DEREF never
 TLS_CHECKPEER yes
 TLS_REQCERT demand
 TLS_CACERT /etc/ssl/certs/ca-certificates.crt #I'm using genric one, osgeo6 is different
 pam_groupdn cn=telascience,ou=Shell,dc=osgeo,dc=org #not though telascience is defunct so not sure what that cn
 nss_base_passwd ou=People,dc=osgeo,dc=org
 nss_base_shadow ou=People,dc=osgeo,dc=org
 nss_base_group ou=Group,dc=osgeo,dc=org
 ldap_version 3
 pam_password md5
 bind_policy soft
-------------------------------
# copy contents of /etc/nslcd.conf from osgeo6
# nano /etc/nsswitch.conf
conf should look like
------------------------------------------------------
 # /etc/nsswitch.conf
 #
 # Example configuration of GNU Name Service Switch functionality.
 # If you have the `glibc-doc-reference' and `info' packages installed, try:
 # `info libc "Name Service Switch"' for information about this file.
 passwd: compat ldap
 group: compat ldap
 shadow: compat
 gshadow: files
 hosts: files dns
 networks: files
 protocols: db files ldap
 services: db files ldap
 ethers: db files
 rpc: db files
 netgroup: nis
 aliases: ldap
-----------------------------------
 service nscd restart
 service nslcd restart
 service ssh restart
==== Verify ldap authentication and query all set up ====
 getent passwd robe
* should output:
robe:x:15108:100:Regina Obe:/home/robe:/bin/bash
 ldapsearch -x uid=robe
* should output a lot of information about Regina
cp -a /etc/skel /home/robe
chown -R robe:100 /home/robe
* add robe to sudoers
sudo usermod -a -G sudo robe
sudo usermod -a -G www-data robe
should now be able to log in as robe
=== Installing PHP, MariaDb etc for wordpress ===
 sudo apt install mariadb-server #installed Mariadb 10.1
* Install apache, php7
 sudo apt install apache2 #was already installed as part of setup so not needed
* on debian 9, php7.0 is default, so I can dispense with php7.0 prefix,
* for older, might have to do php7.0, libapache2-mod-php7.0 etc.
 sudo apt install php php-dev libapache2-mod-php php-mysql php-curl php-gd php-xmlrpc php-intl php-mcrypt php-xsl
 sudo apt install php-ldap
=== Download backups and restore, and setup website ===
copy configs to etc/apache2/sites-available (for this server I created staging version)
copy database and sql backups from old server to /var/www/backups
 sudo a2dissite 000-default.conf
 sudo a2ensite staging.www.osgeo.org.conf
 sudo a2enmod rewrite
 sudo a2enmod file_cache
 sudo a2enmod expires
 cd /var/www/backups
 tar -xvf osgeo_wp_daily.tar.gz 
 mv osgeo.org /var/www/staging.osgeo.org
 cd /var/www
 sudo chown -R www-data:www-data staging.osgeo.org
 sudo chmod -R 770 staging.osgeo.org
#create new database and user and restore backup
 mysql
 CREATE USER 'osgeo_site' @'localhost' IDENTIFIED BY 'look in config for password';
 CREATE DATABASE staging_osgeo;
 GRANT ALL ON staging_osgeo.* TO 'osgeo_site'@'localhost';
 exit
#restore backup
 cd /var/www/backups
 sudo gunzip osgeo_daily.sql.gz
 sudo mysql --user=root staging_osgeo < osgeo_daily.sql
 sudo apt update
 sudo apt upgrade
 sudo reboot
#you may need to fiddle with the www/osgeo.org/httpdocs/core/.htaccess if you are setting up a dev
 sudo systemctl reload apache2
=== Install apache, php7, sendmail ===
 sudo apt install apache2 #was already installed as part of setup so not needed
#on debian 9, php7.0 is default, so I can dispense with php7.0 prefix,
# for older, might have to do php7.0, libapache2-mod-php7.0 etc.
 sudo apt install php php-dev libapache2-mod-php php-mysql php-curl php-gd php-xmlrpc php-intl php-mcrypt php-xsl
 sudo apt install php-ldap
===== Mail config needed for WP-SMTP =====
sudo vi /etc/hostname #set to full domain in this case staging2.www.osgeo.org
sudo apt install sendmail
=== download backups and restore ===
copy configs to etc/apache2/sites-available (for this server I created staging version)
copy database and sql backups from old server to /var/www/backups
sudo a2dissite 000-default.conf
sudo a2ensite staging.www.osgeo.org.conf
sudo a2enmod rewrite
sudo a2enmod file_cache
sudo a2enmod expires
cd /var/www/backups
tar -xvf osgeo_wp_daily.tar.gz 
mv osgeo.org /var/www/staging.osgeo.org
cd /var/www
sudo chown -R www-data:www-data staging.osgeo.org
sudo chmod -R 770 staging.osgeo.org
===== Create new database and user and restore backup =====
 mysql
 CREATE USER 'osgeo_site' @'localhost' IDENTIFIED BY 'look in config for password';
 CREATE DATABASE staging_osgeo;
 GRANT ALL ON staging_osgeo.* TO 'osgeo_site'@'localhost';
 exit
#restore backup
 cd /var/www/backups
 sudo gunzip osgeo_daily.sql.gz
 sudo mysql --user=root staging_osgeo < osgeo_daily.sql
 sudo apt update
 sudo apt upgrade
 sudo reboot
#you may need to fiddle with the www/osgeo.org/httpdocs/core/.htaccess if you are setting up a dev
 sudo systemctl reload apache2
Category:Infrastructure