Create a new website

Create a Drupal-based website using the Drupal source stored in a Subversion repository.

Create a site using your Drupal repo

mkdir /tmp/projectname
cd /tmp/projectname
mkdir branches trunk tags

Create the SVN project for your site:

svnadmin create /var/svn/projectname
svn import /tmp/projectname file:///var/svn/projectname -m "initial creation of site structure"

Adjust the repo file permissions:

find /var/svn/projectname -type f -exec chmod 660 {} \;
find /var/svn/projectname -type d -exec chmod 2770 {} \;
chown -R nobody.nobody /var/svn/projectname

Create the Trac project:

cd /var/trac
trac-admin projectname initenv

Adjust the project's file permissions:

chown -R nobody:nobody projectname

Give the Administrator access to the project but remove Anonymous access:

cd /var/trac
trac-admin projectname permission add administrator TRAC_ADMIN
trac-admin projectname permission remove anonymous '*'

Check out a working copy
We'll store our website copy in /var/websites to keep it separate from the Apache programs in /usr/local/bin/apache2. This will also make a directory for the Apache logs:

mkdir -p /var/websites/projectname/logs
mkdir /var/websites/projectname/htdocs

We'll then checkout a copy from svn into /var/websites/projectname/htdocs/drupal-7.16:

cd /var/websites/projectname/htdocs
svn checkout http://<your_svn_server>/svn/projectname/trunk .

Hmmmm...there's nothing in the resulting htdocs folder. We need to copy the Drupal core files from our Drupal repo:

svn export http://<your_svn_server>/svn/drupal/7.x/core/current drupal-7.16

Move the sites folder out of the Drupal core and put a symbolic link there instead:

mv drupal-7.16/sites .
cd drupal-7.16
ln -s ../sites sites
cd ..

Make a copy of original settings.php and give write permissions to it:

cp sites/default/default.settings.php sites/default/settings.php
chmod ugo+w sites/default/settings.php

Create the files directory:

mkdir sites/default/files
chmod ugo+w sites/default/files

Load the site in your web browser and perform the initial configuration.
Set the site's files location in the web admin /admin/settings/file-system.
With a basic site up and running, commit the changes into the site's SVN repo:

cd /var/websites/projectname/htdocs
svn add drupal-7.16
svn add sites
svn commit -m "Initial site configuration."

Recent Updates

  • 8 months 3 weeks ago
    1.27.2 update
  • 9 months 4 days ago
    Drupal 10/11 config
  • 9 months 6 days ago
  • PHP
    9 months 6 days ago
    PHP 8.3.11 and AlmaLinux
  • 9 months 6 days ago
    New version of Pound