Sunday, November 23, 2008

Εγκατάσταση Drupal 6 στο FreeBSD

Φαντάζομαι γνωρίζετε όλοι το drupal. Είναι ένα από τα πλέον γνωστά CMS (Content Management Systems) το οποίο φέτος διακρίθηκε ως το καλύτερο της χρονιάς. Μπορείτε να μάθετε περισσότερες λεπτομέρειες στο κεντρικό site:

http://www.drupal.org

Μπορείτε επίσης να δείτε και το γνωστό Ελληνικό site (Γεια σου Νεκτάριε!):

http://www.mydrupal.gr

Με αφορμή μια πρόσφατη εγκατάσταση επίδειξης για ένα φίλο, θα δούμε εδώ συνοπτικά τα βήματα για την εγκατάσταση του drupal σε ένα FreeBSD server.

Εγκατάσταση


Μπορείτε φυσικά να εγκαταστήσετε το drupal στο FreeBSD απευθείας από τα ports. Εδώ όμως θα δείξουμε την εγκατάσταση υποθέτοντας ότι έχετε κατεβάσει το tarball του drupal6 απευθείας από το drupal.org
Πριν ξεκινήσετε την εγκατάσταση των ports, ανανεώστε τη Συλλογή των Ports με κάποιο εργαλείο (π.χ. csup, portsnap)

Εγκατάσταση Προαπαιτούμενων Ports


Γενικά θα πρέπει να εγκαταστήσετε:

  • Apache Web server

  • MySQL server - client

  • php5 και κάποια extensions



Αν τρέχετε ήδη κάποιο CMS ή άλλα sites είναι πιθανόν να έχετε ήδη κάποια ή και όλα εγκατεστημένα. Εδώ υποθέτουμε ότι έχετε μια νέα εγκατάσταση FreeBSD.

Εγκατάσταση Apache


Είναι φυσικά αρκετά απλή:

# cd /usr/ports/www/apache22
# make install clean


Δεν χρειάζεται να κάνετε κάποια αλλαγή στις προεπιλεγμένες ρυθμίσεις. Με το τέλος της εγκατάστασης, προσθέστε τη γραμμή:

apache22_enable="YES"

στο αρχείο /etc/rc.conf. Ξεκινήστε τον apache άμεσα δίνοντας ως root:

# /usr/local/etc/rc.d/apache22 start

Μπορείτε να διαπιστώσετε αν λειτουργεί σωστά, βλέποντας τη default σελίδα. Σε ένα browser χρησιμοποιήστε την IP του server σας, π.χ. http://192.168.0.20
Θα δείτε τη σελίδα "It works"

Εγκατάσταση MySQL server/client


Ξανά από τη Συλλογή των Ports:

# cd /usr/ports/databases/mysql50-server
# make install clean


Μαζί με τον server θα εγκατασταθεί ως dependency και ο mysql50-client. Το συγκεκριμένο port δεν υποστηρίζει το options framework, και θα πρέπει να δώσετε τυχόν επιλογές απευθείας στη γραμμή εντολών. Ωστόσο, για την εγκατάσταση μας αυτό δεν είναι απαραίτητο.

Μετά την εγκατάσταση, ενεργοποιήστε τον server, προσθέτοντας στο /etc/rc.conf:

mysql_enable="YES"

Ξεκινήστε τον:

# /usr/local/etc/rc.d/mysql-server start

Δημιουργήστε ένα κωδικό για το χρήστη root της MySQL:

# mysqladmin -u root password 123456

Δημιουργήστε μια βάση δεδομένων για το drupal:

# mysqladmin -u root -p123456 create drupaldb

Δημιουργήστε ένα χρήστη drupaluser και δώστε του τα κατάλληλα δικαιώματα για την βάση drupaldb:

# mysql -u root -p123456 drupaldb
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 60
Server version: 5.0.67 FreeBSD port: mysql-server-5.0.67_1

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>GRANT SELECT, INSERT, UPDATE, DELETE,
CREATE, DROP, INDEX, ALTER ON drupaldb.*
TO 'drupaluser'@'localhost' IDENTIFIED BY '567890';


Query OK, 0 rows affected (0.02 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.02 sec)

mysql>exit;


Εννοείτε ότι θα βάλετε πιο σοβαρούς κωδικόυς από τα "123456" και "567890" !

Εγκατάσταση php και extensions


Πρόκειται για άλλη μια απλή εγκατάσταση:

# cd /usr/ports/lang/php5
# make install clean


Επιλέξτε οπωσδήποτε από το διάλογο options:

[X] APACHE Build Apache module

Δεν χρειάζεται να αλλάξετε τις υπόλοιπες επιλογές.

Προχωράμε στα extensions:

# cd /usr/ports/lang/php5-extensions
# make install clean


Στις επιλογές, επιλέξτε οπωσδήποτε τις παρακάτω:

[X] MBSTRING multibyte string support
[X] MYSQLI MySQLi database support
[X] GD GD library support
[X] PCRE Perl Compatible Regular Expression support
[X] SESSION session support
[X] XML XML support


Δεν χρειάζεται να αλλάξετε κάποια από τις υπόλοιπες επιλογές.

Εγκατάσταση drupal



Κατεβάστε το tarball του drupal από την κεντρική τοποθεσία. Π.χ.

# cd ~
# fetch http://ftp.drupal.org/files/projects/drupal-6.6.tar.gz


Αποσυμπιέστε τα αρχεία στον κατάλογο που επιθυμείτε. Στο παράδειγμα μας, χρησιμοποιείται ο κατάλογος /usr/vhosts αλλά μπορείτε να τον προσαρμόσετε όπως θέλετε.

# mkdir -p /usr/vhosts
# cd /usr/vhosts
# tar xvzf ~/drupal-6.6.tar.gz


Θα πρέπει τώρα να έχετε τον κατάλογο /usr/vhosts/drupal-6.6.
Δημιουργήστε ένα αντίγραφο του αρχείου ρυθμίσεων και αλλάξτε την ιδιοκτησία του καταλόγου:

# cd /usr/vhosts/drupal-6.6
# cd sites/default
# cp default.settings.php settings.php
# cd ..
# chown -R www:www default


Ιδιοκτήτης του καταλόγου default θα είναι πλέον ο χρήστης www ο οποίος είναι από προεπιλογή ο apache στο FreeBSD. Με το τέλος της εγκατάστασης, θα πρέπει να αλλάξετε ξανά τα δικαιώματα στο settings.php. Δεν χρειάζεται πλέον να μπορεί ο apache να γράψει σε αυτό το αρχείο.

Πριν ξεκινήσουμε με το site, θα πρέπει να κάνουμε κατάλληλες ρυθμίσεις στον apache. Ανοίξτε το αρχείο /usr/local/etc/apache22/httpd.conf και προσθέστε τις γραμμές που σημειώνονται με έντονα γράμματα:

DefaultType text/plain
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Βεβαιωθείτε επίσης ότι υπάρχει η γραμμή:

LoadModule php5_module libexec/apache22/libphp5.so

και ότι δεν είναι σχόλιο (δεν έχει '#')
Τέλος, αλλάξτε τη γραμμή:

DirectoryIndex index.html

σε

DirectoryIndex index.html index.php

Για να δηλώσουμε το νέο site μας, θα δημιουργήσουμε ένα VirtualHost. Αυτό δεν είναι απαραίτητο αν θέλετε να έχετε ένα μόνο site. Στην περίπτωση αυτή, αρκεί να αλλάξετε το DocumentRoot στο httpd.conf ώστε να δείχνει στο /usr/vhosts/drupal-6.6. Για να δημιουργήσουμε όμως VirtualHost, θα πρέπει να βγάλουμε τη '#' από τη γραμμή:

Include etc/apache22/extra/httpd-vhosts.conf

Επεξεργαστείτε τώρα το αρχείο /usr/local/etc/apache22/extra/httpd-vhosts.conf. Θα πρέπει να μοιάζει με το παρακάτω:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerAdmin drupaladmin@mail.com
  DocumentRoot /usr/vhosts/drupal-6.6
  Options -Indexes
  CheckSpelling on
  ServerName drupal.homedns.org
  LanguagePriority el en
  ErrorLog /var/log/drupal-error_log.txt
  CustomLog /var/log/drupal-access_log.txt combined
  <Directory /usr/vhosts/drupal-6.6>
    AllowOverride All
    Order Allow,Deny
    Allow from all
  </Directory>
</VirtualHost>


Επανεκκινήστε τον apache για να ισχύσουν οι αλλαγές:

# apachectl restart

Είμαστε σχεδόν έτοιμοι να εισέλθουμε στο site από κάποιο browser, και να ολοκληρώσουμε τις ρυθμίσεις. Πριν από αυτό, βεβαιωθείτε ότι το μηχάνημα που θα χρησιμοποιήσετε γνωρίζει σε τι αντιστοιχεί το drupal.homedns.org αν πρόκειται για όνομα που δεν έχετε καταχωρήσει στο DNS. Προσθέστε για παράδειγμα, την παρακάτω γραμμή στο /etc/hosts του μηχανήματος "πελάτη":

192.168.0.20 drupal.homedns.org

Σημείωση: Σε μηχάνημα Windows θα πρέπει να αλλάξετε το c:\windows\system32\drivers\etc\hosts

Στον μηχάνημα αυτό, ανοίξτε τώρα τον browser και γράψτε:

http://drupal.homedns.org

Ακολουθήστε τις οδηγίες δίνοντας το όνομα της βάσης (drupaldb), χρήστη (drupaluser) και κωδικού. Η διαδικασία τελειώνει σχεδόν αμέσως, και σύντομα θα βρεθείτε να προσθέτετε περιεχόμενο στο νέο σας drupal website!

No comments: