easy-peasy-lemon-squeezy drupal 6 installation on debian linux
installing drupal is pretty easy, but it's even easier if you have a step by step guide. i've written one that will produce a basic working configuration with drupal6 on debian lenny with php5, mysql5 and apache2.
all commands that follow assume that you are the root user.
let's get started!
install the dependencies
# apt-get install mysql-server
# apt-get install apache2
# apt-get install php5
# apt-get install php5-mysql
# apt-get install php5-gd # /etc/init.d/apache2 restartverify your base apache install
if you've configured DNS with your hosting provider properly, when you go to your browser and type in http://www.example.com you should see the message "It Works!". if you don't, stop here and find somebody to help you with DNS and apache before continuing with these instructions.
download and extract drupal
start with the drupal homepage, and find the Download Drupal 6.x link. In the code below, you'll need to replace the 6.X with the version you are actually downloading.
# cd /tmp
# wget http://ftp.drupal.org/files/projects/drupal-6.X.tar.gz
# gunzip drupal-6.X.tar.gz
# tar -xvf drupal-6.X.tar
here these instructions differ slightly from those provided with your drupal install. the packaged instructions suggest putting all the drupal directories directly inside /var/www. i prefer to contain them within a /drupal directory. if you are running several sub-domains on this apache server, this is a preferable set-up.
below, we move all the drupal stuff to =/var/www/drupal= and set various permissions appropriately
# mkdir /var/www/drupal
# mv drupal-6.10/* /var/www/drupal/
# # cd /var/www/drupal
# mv sites/default/default.settings.php sites/default/settings.php
# chmod o+w sites/default/settings.php
# chmod o+w sites/default
# chown -R www-data.www-data /var/www/drupal set-up mysql
in this example, we create a database called drupaldb, a user called drupal with password lemon
first, create the drupaldb database.
#mysqladmin -p create drupaldb
next, create the drupal mysql user and set the permissions and password appropriately. note - the drupal user is a mysql user - not a linux shell user.
# mysql -p
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE
TEMPORARY TABLES, LOCK TABLES ON drupaldb.* TO 'drupal'@'localhost' IDENTIFIED BY 'lemon';
mysql>FLUSH PRIVILEGES;
mysql>quit;finally, tell drupal what you did
# cd /var/www/drupal
# vi sites/default/settings.php
find the line that starts with $db_url and change it to
$db_url = 'mysql://drupal:lemon@localhost/drupaldb';fire up drupal
go to your browser and type http://www.example.com/drupal/index.php. you will be redirected to http://www.example.com/drupal/install.php?profile=default. (note: if you are NOT automatically redirected to install.php, and instead get a page full of SQL errors, just proceed manually to install.php). follow the instructions to set up your super-user account.
enable clean urls in apache (optional)
add the following to /etc/apache2/sites-available/default just above the closing </VirtualHost> tag.
<Directory /var/www/drupal>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>make sure that mod-rewrite is enabled, and then restart apache.
# a2enmod rewrite
# /etc/init.d/apache2 restartnow go the URL http://www.example.com/drupal/?q=admin/settings/clean-urls, take the test (hopefully you'll pass) and, when you do, turn on clean urls.
set up an apache virtual host (optional)
it's nice to setup an apache virtual host for your drupal site. this allows you to create custom logging, remove the /drupal/ from your urls and nicely encapsulate the directives for drupal. here's how you can do it.
create a file in /etc/apache2/sites-available called www.example.com that looks something like this:
<VirtualHost *>
ServerName myserver.mydomain.com
DocumentRoot /var/www/drupal
<Directory />
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>now, check the file called default in this same directory. make sure the top two lines say the following
NameVirtualHost *
<VirtualHost *>finally, enable your new virtual host and restart apache one more time.
# a2ensite www.example.com
# /etc/init.d/apache2 restart
go to your browser and visit http://www.example.com. if you still see the apache default page ("It Works!") instead of your drupal home page, just delete the default index.html file
# rm /var/www/index.html- cailin's blog
- 7338 reads


delicious
digg
reddit
google
yahoo
Thank you, good
Thank you, good tuto
Lines:
# gunzip http://ftp.drupal.org/files/projects/drupal-6.X.tar.gz
# tar -xvf http://ftp.drupal.org/files/projects/drupal-6.X.tar
should be:
# gunzip drupal-6.X.tar.gz
# tar -xvf drupal-6.X.tar.gz
thanks. fixed.
thanks. fixed.
just awesome! thanks soooooo
just awesome! thanks soooooo much!
When i enter "mv
When i enter "mv sites/default/default.settings.php sites/default/settings.php" i get an error message saying "mv: cannot stat `sites/default/default.settings.php': No such file or directory" any suggestions? i am a complete newbie
awsome tutorial, thanks for
awsome tutorial, thanks for sharing
Thanks for the tutorial! I
Thanks for the tutorial! I think without it I never would have figured it out.
thanks, I fumbled my way
thanks, I fumbled my way partially through installing not familiar with the modern linux/debian/hurd admin tools, and had a loose end warning, this post fixed me up. Thank you for putting it together, I'll use it from the outset next time.
post new comment