Skip to content

0install/drupal-installer

Repository files navigation

Drupal Installer (via 0install)

Copyright Thomas Leonard, 2012


INTRODUCTION

This Drupal installer/updater can be used to create and maintain a Drupal
installation. When run the first time, it uses 0install to download Drupal and
any configured plugin modules. Running it again will download updates, if
available.


INSTALLATION

Get Apache and MySQL from your distribution. For example, on Debian systems:

$ sudo apt-get install apache2 mysql-server libapache2-mod-php5 php5-mysql


USE

Copy site-config.xml.template as site-config.xml.
Edit site-config.xml to use your site-specific details:

- doc_root [/var/www/drupal]
- apache_user [www-data]

You can also add extra modules here. When setting up a new site, it is best to
start with no modules and add them later after the initial configuration is
complete.

To start, run:

$ ./update-or-install-drupal.py

You will need to set the owner of some directories to the Apache user (the script
cannot do this itself, unless run as root). If you need to do this, you will see e.g.

chown failed: [Errno 1] Operation not permitted: '/var/www/drupal/sites/default/settings.php'

You can set the ownership manually like this:

$ sudo chown www-data /var/www/drupal/sites/default/settings.php
$ sudo chown www-data /var/www/drupal/sites/default/files

Open your new site in a browser and follow the normal Drupal configuration steps:

  http://localhost/drupal/


DEPLOYMENT ON sf.net

The version of Python on sf.net's shell service is too old to run 0install. So,
run it locally and rsync everything across. To do this, create a directory for
the software (replace {project} with your project's name):

$ mkdir -p /home/project-web/{project}/software/implementations

Then edit local_config.py and set your project's name at the top.

You will need to increase the PHP memory limit. Put this in settings.php:

ini_set('memory_limit', '128M');

Run update-or-install-drupal.py to update locally. When you're happy it's
working, push to sf.net (you can use the push-to-sf.sh, after editing it with
your details). This will:

1. rsync the implementations directory to the same place on sf.net
2. rsync the htdocs directory (after step 1 completes)

If it's not working and you're not getting any error message, you can (temporarily)
put this at the top of settings.py (after the initial "<?php" line):

error_reporting(E_ALL);
ini_set('display_errors', True);

To send email, you need to add the SMTP module and configure it with your sf.net email
password. See: https://sourceforge.net/apps/trac/sourceforge/wiki/Project%20Web%20Email%20Configuration
"SSL" is the only auth setting that works.


CONDITIONS

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.


BUG REPORTS

Please report any bugs to the mailing list:

  http://0install.net/support.html

Releases

No releases published

Packages

No packages published