wiki:ParrotServer

Version 15 (modified by chris, 4 years ago) (diff)

--

Parrot

parrot.webarch.net is a 1GB RAM Xen Debian Squeeze virtual server running Transition Network WordPress sites. It has the Webarch Secure Hosting scripts installed.

This server is due to be upgraded from LennyToSqueeze on ticket:535 in May 2013.

The install and initial configuration of this server was tracked on ticket:537.

Websites

See WordPress#WordPressSites for a list of sites on the server and links to documentation for each site.

SFTP Access

When a new WordPress site is added to the server a email is sent containing the SFTP username and password. The directory structure that you see when you login is as follows:

/home/username
              /logs     <- access and error logs, rotated daily, kept for 28 days
              /private  <- a place to keep private data, for example .htpasswd files
              /sites
                    /default <- the DocumentRoot for the default site 
                                (additional sites can be added)
              /tmp      <- the temp directory for the site

If you don't have a SFTP client then https://filezilla-project.org/ is suggested as it's free and available for most platforms. See the install and connection documentation, https://wiki.filezilla-project.org/Client_Installation and the https://wiki.filezilla-project.org/Using#Connecting_to_an_FTP_server you can access the server at this address on port 22:

Phpmyadmin Access

You can get access to the database, download backups and also change your password via https://parrot.transitionetwork.org/phpmyadmin using the same username and password as you have for SFTP.

Console Access

There is a Xen shell available for console access, see wiki:XenShell.

Munin Stats

There are munin stats for the server available here

Adding a New WordPress Site

The server has been set up with the Webarch Secure Hosting scripts, see http://webarch.net/docs/wsh for some documentation of this.

To add a site run the curses-create-user script as root:

sudo -i
cruses-create-user

The curses interface can be navigated using tab, arrow keys and the space bar on your keyboard.

This will ask you for the following things:

  • Create a new user -- enter the username for SFTP / MySQL and the WordPress admin, this should be short and made up of lowercase letters and numbers
  • Select product -- pick 5 medium+wordpress and this will create the site, database and install WordPress
  • Users email address -- enter the email address that the SFTP, MySQL and WordPress login details are to be sent to

This will create a site with a http://username.parrot.transitionnetwork.org/ address which is fine for developing the site, when it needs to be accessed from another domain name there are two steps to complete:

Adding a domain to a site

To do this edit the /root/webarch/accounts/sites.txt file and add the domain(s) as aliases and run buildapache username, there username is the username for the site, for example:

sudo -i
vim /root/webarch/accounts/sites.txt
buildapache username

This is what the file looks like:

# File format "username" "sites subdir" "ServerName" "ServerAliases"
# note ServerAliases are comma delimited.
#
#Example
#aed foo foo.example.com www.foo.example.com,foo.example.org
movie default movie.parrot.webarch.net movie.parrot.transitionnetwork.org,intransitionmovie.com,www.intransitionmovie.com,intransitionmovie.org,www.intransitionmovie.org,transitionmovie.org,www.transitionmovie.org

See also http://webarch.net/docs/wsh#buildapache

Changing the default domain of a site

WordPress will redirect all requests to a single domain, this is set on the Settings -> General page at /wp-admin/options-general.php using the WordPress Address (URL) field.

To change this address you need to add the following to wp-config.php after the "define" statements (just before the comment line that says "That's all, stop editing!"):

define('RELOCATE',true);

Then update the DNS and visit the site at the correct URl, login and then remove the above from wp-config.php. For more information on this see https://codex.wordpress.org/Changing_The_Site_URL#Relocate_method

Maintaining WordPress sites

This can be done using the wp command line tool, see WordPress#wp.

For site specific notes on maintenance see the page for each site listed on WordPress#WordPressSites

Updates

All systems updates are recorded on ticket:218.

There is a script in /usr/local/bin called a-up which can be used to update the system via aptitude, the advantage of using this script is that it writes things that are changed to the /root/Changelog and the time spent doing the updates can then be reported via ticket:218, see AptitudeUpdateScript for a copy of a-up and the logchange script it uses to update the Changelog.

Tickets

Current Parrot tickets:

Ticket Summary Owner Reporter
#917 Any misc files in Transition Culture web root? chris sam
#916 SSH to parrot please chris sam
#912 Stats for TTT chris chris
#894 Brute Force Attacks Against WordPress XMLRPC chris chris
#887 Lot's of failed logins on conference15.transitionnetwork.org ade sam
#881 Site on ParrotServer with a memory leak? chris chris
#873 New Wordpress site please chris sam
#871 Brute Force Attacks Against WordPress Sites chris chris
#868 Is conference15.tn.org backed up in a convenient manner? chris sam
#853 Parrot access please chris sam
#851 Bot attacks on Transition Culture chris chris
#808 WordPress email being rejected due to From field chris chris
#719 Transition Culture HTML Problems ed chris
#619 Upgrade WordPress sites to 3.9.1 chris chris
#598 Redirect reconomyproject.org to reconomy.org chris chris
#541 Documentation of the WordPress sites chris chris
#540 HTTPS for WordPress sites chris chris
#537 Parrot setup and documentation chris chris

Closed Parrot tickets:

Ticket Summary Owner Reporter
#921 HTTP_PROXY env var vulnerability chris chris
#915 SSH to parrot please chris sam
#914 SSH to parrot please chris sam
#911 Disk space for /home on Parrot is running out chris chris
#891 Issue with TTT and REconomy websites after upgrade to WP 4.4 chris chris
#829 Creation of web space request chris ade
#811 WordPress critical security release chris chris
#805 Parrot: PHP mail function not sending email chris annesley
#778 need access to Parrot chris annesley
#749 Probs with REconomy site again - compromised? chris chris
#718 REconomy site showing adverts randomly chris ed
#710 Incorrect email address for Sam on Transition Culture chris chris
#709 Reconomy sites appears to be sending out spam chris chris
#699 Update Core & Plugins on transitionculture.org sam sam
#696 Disk space error on parrot for TTT site chris chris
#695 File upload problem with TTT WordPress site chris chris
#687 Set up cert expiry date checking for all SSL certs chris chris
#656 Spam being sent out via Transition Culture chris chris
#639 earthin site wordpress error chris chris
#631 Move Transition Culture onto PARROT chris ed
#594 WordPress 3.6.1 Maintenance and Security Release chris chris
#583 tmp files on parrot exceeded inode limit chris ed
#577 Transition Streets Wordpress Migration chris chris
#550 Transition Town Totnes migration chris chris
#542 Parrot RAM chris chris
#539 REconomy site migration and updates chris chris
#538 intransitionmovie.com checks and updates sam chris
#497 New SSL cert needed for intransitionmovie.com chris chris

SSL Certs

There is a ticket regarding what do to for HTTPS for the server ticket:540.

The server has a copy of the *.transitionnetwork.org wild card certificate installed and this is used for https://parrot.transitionnetwork.org/

The server also has a dedicated IP address for the https://intransitionmovie.com/ site and SSL certificate.

All the other sites use a free http://cacert.org/ certificate, see ticket:540#comment:1 for a list of domains. To get rid of the security warnings that you will get if you don't have the CAcert root installed you need to install the root cert from http://www.cacert.org/index.php?id=3 to do this using Windows simply click http://www.cacert.org/certs/CAcert_Root_Certificates.msi and for Firefox and Chrome click https://www.cacert.org/certs/root.crt