Εύχομαι να τα είπα καλά στο προηγούμενο post και να βοήθησα μερικούς ή να τους έδωσα κάποιες ιδέες. Σε αυτό το part θα γράψω κάτι πιο πιασάρικο και χρήσιμο 😉 😛

Πως κάνουμε τον VPS μας web server! Επιτέλους στο ζουμί 😛 Χωρίς πολλά πολλά, ξεκινάμε.

Δεν μας χρειάζεται τίποτα από το προηγούμενο μέρος. Δεν πιστεύω να χρειαστεί γενικά στα επόμενα μέρη τίποτα απ’ τα προηγούμενα.

1. Εγκατάσταση lighttpd

Όχι εντάξει, είπαμε. Δεν θα κάνουμε compile από sources -ακόμα-. Αντιθέτως θα χρησιμοποιήσουμε τα compiled απ’ τα repositories του Debian, all time classic apt δηλαδή 😉

  root@Slave-PC:~$ apt-get install lighttpd

Για να εγκαταστήσουμε τον web server μας.

Τώρα, γιατί lighttpd.. Λένε ότι είναι πιο γρήγορος. Εγώ θα πω είναι πιο εύκολος. Έχει καλύτερο config. Είμαι ανώμαλος μάλλον. Προτείνω lighttpd λοιπόν 😛

Για να βεβαιωθούμε ότι τρέχει σωστά, βάζουμε την IP του server στον browser. Θα δεις το placeholder page του lighttpd 🙂

Όπως όλα τα config των προγραμμάτων, έτσι και του lighttpd, πήγε στο /etc! Μπορούμε να το tweakάρουμε λίγο για να ικανοποιήσει πλήρως τις ανάγκες μας. Δεν θα το κάνουμε ακόμα όμως. Οι σελίδες που σερβίρει μπαίνουν στο /var/www. Οδηγίες για virtual hosts θα μπουν στα τελευταία part της σειράς unless otherwise stated 😛 🙂

Συνεχίζουμε με PHP!

2. Εγκατάσταση PHP

Όπως και με τον lighttpd, έτσι και εδώ θα χρησιμοποιήσουμε τα repo για να περάσουμε την PHP! Get used to it 😛

  root@Slave-PC:~$ apt-get install php5-cgi

Για να κάνουμε τον lighttpd να τρέχει τα php, πρέπει να περάσουμε ένα module. Πριν το περάσουμε όμως, θέλει μια διόρθωση.

  root@Slave-PC:~$ cd /etc/lighttpd/conf-available

Για να πάμε στο φάκελο των module και..

  root@Slave-PC:~$ nano 10-fastcgi.conf

..για να το ανοίξουμε με το nano.
(Το έσπασα σε 2 εντολές γιατί αν το έκανα 1 πήγαινε στην από κάτω και φαινότανε άσχημα)
Μόλις ανοίξει ο nano, πηγαίνουμε στην γραμμή που λέει “bin-path” => “/usr/bin/php4-cgi” και την αλλάζουμε σε “bin-path” => “/usr/bin/php5-cgi”.
Δεν θέλουμε PHP4, σωστά? 😛

Θα χρειαστούμε ακόμη ένα πακέτο για να δουλέψει η PHP με την MySQL. Τρέχουμε..

  root@Slave-PC:~$ apt-get install php5-mysql

Επιπλέον, αν χρειαστείς τίποτα άλλο, για παράδειγμα GD στην PHP πρέπει να εγκαταστήσεις το αντίστοιχο module, στην συγκεκριμένη περίπτωση το php5-gd.
Ένας πίνακας με τα διαθέσιμα modules για την PHP:

php-imlib – PHP Imlib2 Extension
php-pear – PEAR – PHP Extension and Application Repository
php5-auth-pam – A PHP5 extension for PAM authentication
php5-curl – CURL module for php5
php5-ffmpeg – ffmpeg support for php5
php5-gd – GD module for php5
php5-geoip – GeoIP module for php5
php5-gmp – GMP module for php5
php5-gpib – libgpib PHP5 bindings
php5-idn – PHP API for the IDNA library
php5-imagick – ImageMagick module for php5
php5-imap – IMAP module for php5
php5-interbase – interbase/firebird module for php5
php5-ldap – LDAP module for php5
php5-librdf – PHP5 language bindings for the Redland RDF library
php5-mapscript – php5-cgi module for MapServer
php5-mcrypt – MCrypt module for php5
php5-memcache – memcache extension module for PHP5
php5-mhash – MHASH module for php5
php5-ming – Ming module for php5
php5-mysql – MySQL module for php5
php5-odbc – ODBC module for php5
php5-pgsql – PostgreSQL module for php5
php5-ps – ps module for PHP 5
php5-pspell – pspell module for php5
php5-radius – PECL radius module for PHP 5
php5-recode – recode module for php5
php5-sasl – Cyrus SASL extension for PHP 5
php5-snmp – SNMP module for php5
php5-sqlite – SQLite module for php5
php5-sqlrelay – SQL Relay PHP API
php5-suhosin – advanced protection module for php5
php5-svn – PHP Bindings for the Subversion Revision control system
php5-sybase – Sybase / MS SQL Server module for php5
php5-syck – YAML parser kit — PHP5 bindings
php5-symfony1.0 – Open-Source PHP Web Framework
php5-tidy – tidy module for php5
php5-uuid – OSSP uuid module for php5
php5-xapian – Xapian search engine interface for PHP5
php5-xcache – Fast, stable PHP opcode cacher
php5-xdebug – Xdebug Module for PHP 5
php5-xmlrpc – XML-RPC module for php5
php5-xsl – XSL module for php5

Απ’ το apt-cache τα πήρα 😛

Τέλος τρέχουμε..

  root@Slave-PC:~$ lighttpd-enable-mod fastcgi

..για να ενεργοποιηθεί το module και..

  root@Slave-PC:~$ /etc/init.d/lighttpd restart

..για να κάνουμε restart τον lighttpd.

Για να τον testάρεις τώρα. Τρέξε..

  root@Slave-PC:~$ echo &#8220;< ? phpinfo(); ?>&#8221; > /var/www/phpinfo.php

Αυτό θα φτιάξει ένα αρχείο PHP με περιεχόμενο το < ? phpinfo(); ?>. Αν, τώρα, βάλεις http://ip.tou.server/phpinfo.php στον browser σου θα δεις ένα.. κατεβατό. Αυτό σημαίνει ότι όλα πήγαν καλά και ότι η PHP τρέχει 🙂 Μπορείς να συνεχίσεις με την..

3. Εγκατάσταση MySQL

  root@Slave-PC:~$ apt-get install mysql-server mysql-client

Με αυτή την εντολή, εκτός απ’ την MySQL, εγκαθιστούμε και ένα client για να μπορείς να την διαχειρίζεσαι μέσω cli. Αν δεν γουστάρς, απλά σβήσε το mysql-client απ’ την εντολή 😉

Αφήνουμε default ότι ρωτήσει αν και δεν νομίζω ότι ρωτάει τίποτα εκτός από τον κωδικό για τον root χρήστη. Βάλε κάτι πρωτότυπο και πρόσεχε ΜΗΝ το ξεχάσεις.

Σε μερικούς VPS, λόγο του ότι δεν έχουνε αρκετή RAM (128mb) δεν ξεκινάει και βγάζει προβλήματα. Εάν ψάξεις στα διάφορα forum των παρόχων VPS σίγουρα θα βρεις κάποιες ρυθμίσεις. Για αρχή-testing, μπορείς να χρησιμοποιήσεις αυτές.
Πρέπει να μπουν στο /etc/mysql/my.cnf. Πως να το επεξεργαστείς το έχεις μάθει, πιστεύω, πλέον 😛

[mysqld]
port = 3306
socket = /var/run/mysqld/mysqld.sock

# No locking at all!
skip-locking

# Set internal buffers, caches and stacks very low
key_buffer = 16K
max_allowed_packet = 32M
table_cache = 1
sort_buffer_size = 16K
read_buffer_size = 16K
read_rnd_buffer_size = 1K
net_buffer_length = 1K
thread_stack = 16K

# Don’t listen on a TCP/IP port at all.
# Will still work provided all access is done via localhost
skip-networking
server-id = 1

# Skip Berkley and Inno DB types
skip-bdb
skip-innodb

# Set the query cache low
query_cache_limit = 1048576
query_cache_size = 1048576
query_cache_type = 1

# Set various memory limits very low, disable memory-hogging extras
[mysqldump]
quick
max_allowed_packet = 16K

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 16K
sort_buffer_size = 16K

[myisamchk]
key_buffer = 16K
sort_buffer_size = 16K

Μην ξεχάσεις ότι μετά από το edit πρέπει να κάνεις restart τον server. Το restart γίνεται έτσι:

  root@Slave-PC:~$ /etc/init.d/< προγράμμα> restart

Όπου < όνομα προγράμματος>, το όνομα του προγράμματος που θέλεις να επανεκκινήσεις!

Για να δεις αν η MySQL τρέχει, μπορείς να ξαναπάς στην σελίδα που δοκίμασες την PHP πριν και να δεις αν έχει φορτώσει το module για την ΜySQL 😉

Ωραία, φτιάξαμε την βάση δεδομένων.. πρέπει όμως κάπως να την διαχειριζόμαστε! Ένα *αρκετά* βολικό, και σε σχέση με το mysql-client απλό, εργαλείο είναι το phpMyAdmin. Το ίδιο απλή είναι και η εγκατάστασή του! 😛

  root@Slave-PC:~$ apt-get install phpmyadmin

Έτοιμο. Αν τώρα πας στο http://ip.tou.server/phpmyadmin/ θα το δεις να δεσπόζει! Username βάζεις root και Password αυτό που έβαλες κατά την εγκατάσταση της MySQL.

Τέλος και το δεύτερο part! 😀
Αυτά από ‘μένα. Από την στιγμή που δημοσιεύονται τα άρθρα, γίνονται κάποιες μικρο-αλλαγές.
Δεν μπορώ να φανταστώ καμιά φορά τι μαλακίες γράφω xD
Ότι λάθος έχω κάνει, comment με 😉
Τα λέμε.