LAMP Tutorial: Οδηγός εγκατάστασης και ρύθμισης Apache2, MariaDB, PHP και Memcached σε Debian ή Ubuntu

dimitris | Τετ, 09/12/2018 - 01:23 | 26' | 17

Πλήρης οδηγός για την εγκατάσταση και ρύθμιση LAMP stack (Linux, MySQL, Apache 2 και PHP) στο Ubuntu και το Debian. Οι οδηγίες έχουν δοκιμαστεί σε server με 2 x Xeon και 128GB RAM σε Debian 9.

Εγκατάσταση MariaDB, Apache, PHP

Στο Debian και στο Ubuntu, χρησιμοποιήστε το εργαλείο tasksel για να εγκαταστήσετε όλο το LAMP stack  (ως root ή με sudo μπροστά στις παρακάτω εντολές):

apt-get install tasksel
tasksel install lamp-server

Εναλλακτικά, για περισσότερο έλεγχο από τη γραμμή εντολών, δώστε την εντολή:

apt-get install mariadb-client mariadb-server phpmyadmin apache2  apache2-utils libapache2-mod-php php php-gd php-mysql php-pear lynx

Η παραπάνω εντολή εγκαθιστά τα πάντα! Επειδή θα εγκαταστήσει και το PhpMyAdmin θα σας ρωτήσει ποιον server να χρησιμοποιεί. Επιλέξτε το Apache και πατήστε ΟΚ.

phpmyadmin debian

Στη συνέχεια θα σας ρωτήσει αν θέλετε να ρυθμίσει με τις κοινές ρυθμίσεις το phpmyadmin (απαντήστε Yes) και έπειτα θα πρέπει να ορίσετε έναν κωδικό για τον root χρήστη όταν θα συνδέεστε στο web interface του phpmyadmin.

Μετά την αρχική εγκατάσταση του MariaDB στο Debian, ο κωδικός του root στη βάση δεδομένων είναι κενός. Τρέξτε το 

mysql_secure_installation

για να ορίσετε root κωδικό για την βάση δεδομένων και να κάνετε την εγκατάσταση πιο ασφαλή. 

Θα σας κάνει 5-6 ερωτήσεις (να βάλετε κωδικό root, να καταργήσετε anonymous χρήστες, να απαγορεύσετε την πρόσβαση ως root από απόσταση κλπ). Απαντήστε Y σε όλα! :)

mysql_secure_installation debian mariadb
Σημαντικό: Ρυθμίστε έναν κωδικό για τον χρήστη root στη MariaDB!

Εκκίνηση web server

Αρχικά η default ιστοσελίδα του Apache2 βρίσκεται στο φάκελο /var/www/ για Ubuntu ή στο φάκελο /var/www/html για Debian.

Σε αυτούς τους φάκελους βάζετε τις ιστοσελίδες σας. Αργότερα θα δούμε πως γίνεται να έχετε ιστοσελίδες μέσα από το home σας.

Για να ξεκινήσετε τον MariaDB/Mysql server,  δώστε (ως root ή με sudo):

service apache2 restart

Και μετά για να ξεκινήσετε τον Apache2 server, δώστε:

service apache2 start

Για επανεκκίνηση των υπηρεσιών:

service mariadb restart

service apache2 restart

Έλεγχος και ρύθμιση Apache2

Για να δείτε ότι ο Apache web server παίζει σωστά, πηγαίνετε στο http://localhost ή αν ο server είναι remote: http://servername για να δείτε την αρχική σελίδα του. Για παράδειγμα, μέσα από την κονσόλα του ίδιου του server τρέχετε τον Lynx browser (τον εγκαταστήσαμε νωρίτερα!!!)

lynx http://localhost

Θα πρέπει να δείτε την αρχική σελίδα του Apache2 (ή ένα μήνυμα 'It works' αν έχετε Debian).

Βασικές ρυθμίσεις

Μετά την εγκατάσταση, οι βασικές ρυθμίσεις του Apache γίνονται στο αρχείο /etc/apache2/apache2.conf.

Για παράδειγμα, εκεί μπορεί να θέλετε να πειράξετε τις μεταβλητές Timeout, MaxKeepAliveRequests και KeepAliveTimeout. Για παράδειγμα:

Timeout 30
MaxKeepAliveRequests 150
KeepAliveTimeout 5

Κάθε φορά που κάνετε αλλαγή στο αρχείο αυτό, πρέπει να κάνετε reload τον Apache2.

Επίσης, το default worker module στον Apache2, δηλαδή αυτό που κάνει όλη τη δουλειά είναι το prefork. Αυτό το ρυθμίζετε στο αρχείο /etc/apache2/mods-enabled/mpm_prefork.conf

vim /etc/apache2/mods-enabled/mpm_prefork.conf

Για παράδειγμα βάζετε

<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       5
    MaxSpareServers      10
    ServerLimit         1024
    MaxRequestWorkers   1024
    MaxConnectionsPerChild 0
</IfModule>

Σημείωση: To ServerLimit το χρειάζεστε μόνο αν θέλετε να βάλετε τιμή MaxRequestWorkers πάνω από 256.

Στon Apache2 καλό είναι επίσης να απενεργοποιήσετε το autoindex, ώστε να μην δείχνει ποτέ τα περιεχόμενα των φακέλων (όταν δεν υπάρχει index.html στον αντίστοιχο φάκελο), αλλά και να ενεργοποιήσετε το expires και το rewrite, δύο χρήσιμα apache modules.

a2dismod -f autoindex
a2enmod -f expires rewrite

Επίσης, καλό είναι να αλλάξετε τις ρυθμίσεις ασφαλείας ώστε ο Apache να μην αποκαλύπτει πολλές πληροφορίες για τον εαυτό του (ειδικά την έκδοση του) στο HTTP response header που επιστρέφει σε κάθε client:

vim /etc/apache2/conf-enabled/security.conf

Εκεί βρείτε τη γραμμή ServerTokens Full και κάντε την:

ServerTokens Prod

Μετά πρέπει να κάνετε reload για να πάρει τις ρυθμίσεις:

/etc/init.d/apache2 reload

Έλεγχος και ρύθμιση PHP

Για να σιγουρευτείτε ότι παίζουν τα σκριπτάκια της PHP, δημιουργήστε ένα αρχείο test.php στο /var/www (ή /var/www/apache2-default για Debian), π.χ.

sudo nano /var/www/test.php

και γράψτε μέσα τα εξής:

<?php
  phpinfo();
?>

Σώστε το αρχείο Ctrl+X, πατήστε Y, και ξανά Enter.

Μετά από το browser, πηγαίνετε στη σελίδα αυτή:

http://localhost/test.php

θα πρέπει να δείτε την test σελίδα της PHP.

Για να ρυθμίσετε την PHP στον Apache2, χρησιμοποιείτε το τεράστιο php.ini μέσα στο φάκελο /etc/php/7.0/apache2/

vim /etc/php/7.0/apache2/php.ini

Τα βασικά που θα θέλετε να πειράξετε είναι το memory_limit, το max_execution_time, το upload_max_filesize και το post_max_size, π.χ.

memory_limit = 1024M
max_execution_time = 120
upload_max_filesize = 20M
post_max_size = 20M

Μετά τις όποιες αλλαγές κάνετε:

/etc/init.d/apache2 restart

 

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

Για να εγκαταστήσετε το Memcached (ένα object caching system με υψηλή απόδοση) ώστε να το χρησιμοποιείτε στις διάφορες ιστοσελίδες και στα web apps σας, στο Debian ή στο Ubuntu, δίνετε την εντολή:

apt-get install php-memcache memcached php-pear php-dev libmemcached-tools

Θα σας ζητηθεί να εγκαταστήσετε αρκετά πακέτα. Πατήστε Y και περιμένετε να ολοκληρωθεί.

Μετά την εγκατάσταση, θα πρέπει να έχει δημιουργηθεί το αρχείο για την ρύθμιση του Memcached στην PHP στο φάκελο /etc/php/7.0/mods-available/

vim /etc/php/7.0/mods-available/memcache.ini

Εκεί βεβαιωθείτε απλά ότι είναι ενεργά τα εξής δύο:

extension=memcache.so
memcache.hash_strategy="consistent"

Η κυρίως ρύθμιση του Memcached server γίνεται όμως στο αρχείο /etc/memcached.conf:

vim /etc/memcached.conf

Εκεί μπορεί να θέλετε να αυξήσετε λίγο τη μνήμη από τα 64MB που είναι η εξορισμού ρύθμιση (-m) αλλά και να περιορίσετε τον αριθμό των ταυτόχρονων συνδέσεων (εξορισμού  -c 1024). Για παράδειγμα:

# memcached default config file
# 2003 - Jay Bonci <[email protected]>
# This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.

# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Be verbose
# -v

# Be even more verbose (print client commands as well)
# -vv

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 4096

# Default connection port is 11211
-p 11211

# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

# Limit the number of simultaneous incoming connections. The daemon default is 1024
 -c 2048

Σημαντικό: Κάθε φορά που αλλάζουμε ρυθμίσεις στον Memcached, πρέπει να κάνουμε restart και στο Memcached αλλά και στον Apache - με αυτή τη σειρά:

service memcached restart

service apache2 restart

Στη συνέχεια, μπορείτε να βλέπετε στην κονσόλα τα στατιστικά του Memcached με την εντολή:

memcstat --servers=localhost

 

Ρύθμιση MySQL/MariaDB

Αν για κάποιο λόγο δεν ορίσατε ήδη κωδικό για τον χρήστη root, είναι πιθανό ότι είναι ακόμα κενός. Τότε τo πρώτο πράγμα που πρέπει να κάνετε είναι να αλλάξετε τον κωδικό του root με την εντολή (ως root):

/usr/bin/mysqladmin -u root password 'κωδικός'

π.χ. sudo /usr/bin/mysqladmin -u root password alh8eia

Η ρύθμιση της MySQL γίνεται στο αρχείο /etc/mysql/my.cnf. Ενώ η ρύθμιση της MariaDB γίνεται στο αρχείο: /etc/mysql/mariadb.conf.d/50-server.cnf

vim /etc/mysql/mariadb.conf.d/50-server.cnf

Και στις δύο περιπτώσεις, καταλήγετε στις ίδιες ρυθμίσεις. Οι κυρίως μεταβλητές που σας ενδιαφέρει να αλλάξετε είναι οι παρακάτω. Οι τιμές που θα βάλετε ποικίλουν ανάλογα με τη χρήση του server και το μέγεθος της διαθέσιμης μνήμης:

tmpdir
key_buffer
max_allowed_packet 
thread_stack
thread_cache_size
max_connections
table_cache
open_files_limit
query_cache_limit
query_cache_size
max_heap_table_size
tmp_table_size
max_connect_errors
sort_buffer_size
read_buffer_size
read_rnd_buffer_size
join_buffer_size
innodb_flush_method
innodb_buffer_pool_size
innodb_additional_mem_pool_size
innodb_thread_concurrency
wait_timeout
 

Για παράδειγμα, για έναν 2 x Xeon server με 128GB RAM, που τρέχει MariaDΒ και Apache2 και Memcached, οι παρακάτω ρυθμίσεις είναι μια χαρά:

## Set Temp dir to RAMDISK
## VERIFY THAT /run/mysql EXISTS!
tmpdir = /run/mysqld

# Fine Tuning
key_buffer              = 512M
max_allowed_packet  = 128M
thread_stack            = 192K
thread_cache_size       = 64
max_connections        = 1030 # prepei na einai pio pano apo to max_clients toy Apache
table_cache            = 16384
open_files_limit       = 32768  #(3x  table_cache)
#
# * Query Cache Configuration
#
query_cache_limit       = 32M
query_cache_size        = 512M

wait_timeout= 120
# Maximum size in bytes for user-created MEMORY tables.
max_heap_table_size = 1024M    
# largest size for temporary tables in memory
# if table exceeds limit, it is converted to MyISAM or Aria table
tmp_table_size = 1024M
max_connect_errors = 60
# amount of memory allocated in each session performing a sort, default 2M
sort_buffer_size = 8M
# MyISAM / MEMORY only, buffer allocated in seq scan for each table and
# for caching indexes in temp file in ORDER BYs
read_buffer_size = 4M  
# MyISAM only, buffer for reading rows of a table, sorted order
read_rnd_buffer_size = 512K  
# buffer used for queries that cannot use an index
join_buffer_size = 4M  

innodb_flush_method=O_DIRECT
innodb_buffer_pool_size=15G    # Default: 128M, up to 80% of RAM
innodb_additional_mem_pool_size=512M #deprecated MariaDB 10.0
innodb_thread_concurrency=12 # suggested: 2 x CPU + disks


Προσοχή: πρέπει να βεβαιωθείτε ότι υπάρχει στο σύστημά σας ο φάκελος /run/mysqld και τρέχει σε tmpfs/ramdisk:

# mount | grep run
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=13198104k,mode=755)

Τέλος, μπορεί να θέλετε να πειράξετε το max_allowed_packet στο /etc/mysql/conf.d/mysqldump.cnf για γρηγορότερο dump των βάσεων δεδομένων:

vim /etc/mysql/conf.d/mysqldump.cnf

max_allowed_packet    = 256M

Όπως πάντα, κάθε φορά που κάνετε αλλαγές ρυθμίσεων στη MariaDB/MySQL πρέπει να κάνετε reload

service mariadb restart

Κατόπιν, μπορείτε να συνδεθείτε ως root με τη βάση δεδομένων:

 mysql -u root -p

ή 

mariadb -u root -p

Θα σας ζητηθεί ο κωδικός που ορίσατε με την προηγούμενη εντολή.

Όταν συνδεθείτε, θα δείτε κάτι σαν κι αυτό:

[root@localhost sda6]# mysql -u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Αν δεν έχετε τρέξει ήδη το mysql_secure_installation, όπως είδαμε στην αρχή, διαγράψτε την ανώνυμη πρόσβαση στη MySQL με τις εντολές:

DELETE FROM mysql.user WHERE User = '';
FLUSH PRIVILEGES;

Θα δείτε το εξής:

mysql> DELETE FROM mysql.user WHERE User = '';
Query OK, 2 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Πως φτιάχνουμε βάση δεδομένων και χρήστη σε αυτήν

Για να δημιουργήσετε ένα νέο χρήστη (π.χ. dimitris) στη MySQL/MariaDB με δικαιώματα πρόσβασης σε όλες τις βάσεις δεδομένων:

GRANT ALL PRIVILEGES ON *.* TO 'dimitris'@'localhost' IDENTIFIED BY 'κωδικός' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Θα δείτε κάτι σαν κι αυτό:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'dimitris'@'localhost' IDENTIFIED BY 'κωδικός' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

Για να δημιουργήσετε μια νέα βάση δεδομένων, π.χ. mydata, δώστε την εντολή:

create database mydata;

Εναλλακτικά, αν θέλετε να δημιουργήσετε ένα νέο χρήστη, π.χ. dimitris, με δικαιώματα σε μια νέα βάση, π.χ. mydata, δίνετε απευθείας την εντολή:

GRANT ALL PRIVILEGES ON mydata.* TO 'dimitris'@'localhost' IDENTIFIED BY 'κωδικός';

Εγκατάσταση εργαλείων για monitoring της MySQL/MariaDB και του server

Εγκαθιστάμε τα htop, iotop, mytop, innotop, mc και screen με την εντολή:

apt-get install htop iotop innotop mc screen mariadb-client-10.1

Μετά φτιάχνετε ένα αρχείο ~/.my.cnf και γράφετε μέσα το όνομα και τον κωδικό του root χρήστη στη MySQL/MariaDB, ως εξής

[client]
user=root
password=PASSWORD_EDO

Τέλος, τρέχουμε το mytop ή το innotop για να παρακολουθούμε τη βάση δεδομένων.

Αν κατά την εκτέλεση δούμε σφάλμα της Perl για missing deps "Can't locate Config/IniFiles.pm in @INC" σημαίνει ότι χρειαζόμαστε μερικά έξτρα πακέτα:

apt install libterm-readkey-perl libdbd-mysql-perl libconfig-inifiles-perl

Εναλλακτικά:

perl -MCPAN -e 'install Perl::OSType'
cpan install Config::IniFiles

 

Εγκατάσταση και ρύθμιση PHPMyAdmin

Για να εγκαταστήσετε το PHPMyAdmin, αν δεν το έχετε κάνει ήδη, δώστε:

sudo apt-get install phpmyadmin

Τώρα, μπορείτε λογικά να δείτε το PhpMyAdmin στο http://localhost/phpmyadmin

Αν θέλετε να αλλάξετε url για το PhpMyAdmin (και να βάλετε κάτι άλλο στη θέση του phpmyadmin), αυτό γίνεται στο αρχείο /etc/phpmyadmin/apache.conf

vim /etc/phpmyadmin/apache.conf

Στη δεύτερη γραμμή βάζετε ότι alias θέλετε αντί του phpmyadmin,

Alias /phpmyadmin /usr/share/phpmyadmin

π.χ.

Alias /mypma /usr/share/phpmyadmin

Μετά μην ξεχάσετε να κάνετε reload τον Apache2 :

systemctl reload apache2

Μετά θα μπορείτε να συνδεθείτε στο web interface του PhpMyAdmin. Αν δεν μπορείτε να συνδεθείτε, παρότι βάζετε τον σωστό root κωδικό, τότε μπείτε στην κονσόλα της MySQL/MariaDB και τρέξτε τις εντολές:

USE mysql;
update user set plugin=' ' where user='root';
FLUSH PRIVILEGES;

Σημείωση: Αν έχετε πολύ παλιά έκδοση Debian, τότε πρέπει να ρυθμίσετε το phpmyadmin στο αρχείο: /etc/apache2/apache2.conf:

sudo nano /etc/apache2/apache2.conf

και προσθέστε τη γραμμή:

Include /etc/phpmyadmin/apache.conf

Πατήστε Ctrl+X, πατήστε Υ, και Εντερ.

Μετά ξεκινήστε ξανά τον Apache2 :

systemctl restart apache2

 

Ιστοσελίδες στο home (public_html)

Για να μπορείτε να έχετε ιστοσελίδες μέσα στο home σας (π.χ. /home/dimitris/public_html), αντί για το /var/www/ αρκεί να δώσετε τις εξής εντολές:

sudo a2enmod userdir
sudo /etc/init.d/apache2 force-reload   

Μετά φτιάξτε το public_html

mkdir $HOME/public_html

και αντιγράψτε το αρχείο test.php που φτιάξαμε πριν: cp /var/www/test.php .

και πηγαίνετε στο Firefox όπου δίνετε:

http:/localhost/~dimitris/test.php

και θα εμφανιστεί πάλι η σελίδα με το info της PHP.

Πιθανά προβλήματα

Αν στην εκκίνηση του Apache βλέπετε το μήνυμα:

apache2: Could not determine the server's fully qualified domain name

τότε πρέπει να ρυθμίσετε το ServerName στο αρχείο /etc/apache2/conf.d/fqdn

Ανοίξτε το με έναν editor

sudo nano /etc/apache2/conf.d/fqdn

και προσθέστε τη γραμμή

ServerName localhost

 

Εγκατάσταση PHP 7 (σε παλιότερο Debian)

Αν έχετε παλιότερο Debian (π.χ. Debian 8), η PHP θα είναι στην έκδοση 5. Για την εγκατάσταση της PHP7, (που είναι default στο Debian stable) προσθέτουμε το αποθετήριο dotdeb:

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list

Μετά κατεβάζουμε και εγκαθιστούμε το κλειδί του νέου αποθετηρίου για να είμαστε σίγουροι για την ασφάλεια μας:

 cd /tmp
 wget https://www.dotdeb.org/dotdeb.gpg
 apt-key add dotdeb.gpg
 rm dotdeb.gpg

Ενημερώνουμε τα πακέτα μας:

 apt-get update

Εγκαθιστούμε την PHP 7 και τα απαραίτητα πακέτα για mysql κλπ:

 apt-get install php7.0 php7.0-fpm php7.0-gd php7.0-mysql

Τέλος ρυθμίζουμε τον Apache2 να χρησιμοποιεί την PHP7:

a2enmod proxy_fcgi setenvif
a2enconf php7.0-fpm

Κανουμε restart τον Apache και είμαστε έτοιμοι:

 systemctl restart apache2

Εγκατάσταση PHP opcode cache

Για την επιτάχυνση των PHP ιστοσελίδων σας, υπάρχει ένα εργαλείο που λέγεται Zend Optimizer (zend opcache) - ένα μηχανισμό ο οποίος κασάρει και επιταχύνει τον PHP κώδικα. Αυτό περιλαμβάνεται εξορισμού στην PHP από την έκδοση 5.3 και μετά. 

Aν έχετε την PHP7, τότε πρέπει να έχετε το opcache module εγκατεστημένο. Για έλεγχο, δώστε την εντολή:

php --version

Θα πρέπει να δείτε κάτι σαν κι αυτό (που θα αναφέρει Zend Opcache στο τέλος)

PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Αν δεν το δείτε, τότε εγκαταστήστε το πακέτο που σας λείπει:

apt-get -y install php7.0-opcache

Οι default ρυθμισεις του zend opcache είναι καλές, αλλά αν θέλετε να παίξετε περισσότερο βάλτε τις επιλογές σας στο αρχείο  /etc/php/7.0/mods-available/opcache.ini (ή /etc/php5/mods-available/opcache.ini αν έχετε παλιότερη έκδοση Debian)

vim /etc/php/7.0/mods-available/opcache.ini

Π.χ. Μπορεί να θέλετε να αυξήσετε το μέγεθος της διαθέσιμης μνήμης για caching και να ενεργοποιήσετε ή να απανεργοποιήσετε κάποιες από τις υπολοιπες ρυθμίσεις της OPcache (δείτε τις διαθέσιμες ρυθμίσεις του opcache εδώ και εδώ μια εξήγηση για τις παρακάτω ρυθμίσεις) : 

zend_extension=opcache.so
opcache.memory_consumption=512
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=10000 
opcache.max_wasted_percentage=10

Για να δείτε τι τιμή να βάλετε στο max_accelerated_files πρέπει να μετρήσετε τα αρχεία php που θα σερβίρει ο apache2 με μια εντολή σαν κι αυτή:

find /var/www -type f -print | grep php | wc -l

Τέλος, μπορείτε να εγκαταστήσετε ένα opcode user cache. Για παράδειγμα, αν έχετε PHP5, τότε εγκαταστήστε το apc user cache:

apt-get install php5-apcu

Και κάντε restart τον web server:

service apache2 restart

Για php7, μπορείτε να εγκαταστήσετε το APCu ως εξής:

apt-get -y install php-apcu

 

 

Φόρουμ
Δώσε αστέρια!

MO: 4.5 (ψήφοι: 20)

Σχόλια

γεια σας
εφτιαξα ενα προγραμματακι σαν το CD manager που περιγραφεται στο περιοδικο. Το προγραμμα ειναι σχετικα με χρεη και πληρωμες και ολα φαινονται να ειναι σωστα αλλα οταν φορτωνω το .php αρχειο ενω εμφανιζεται κανονικα η φορμα στο τελος εμφανιζεται και το λαθος:

Fatal error: Call to undefined function mysql_connect() in /var/www/manager.php on line 4

που στην ουσια αναφερεται στο σημειο του κωδικα:

mysql_connect("localhost", "root", "");

υποψιαζομαι οτι κατι δεν εχω εγκαταστησει για να μην αναγνωριζει την mysql_connect ως γνωστη συναρτηση..

Χρησιμοποιω ubuntu me apache2 και php5

Μπράβο παιδιά. . .
Με αυτές τις εγκαταστάσεις πάλευα στα Windows 2 μέρες. . .
Και εδώ χρειάστηκα μόνο 20 λεπτά. . .
Να σαι καλά ρε Δημητρη. . .

Δημήτρη θα ήταν εύκολο να κάνεις έναν οδηγό για proftpd και κάτι για mailserver για να έχουμε όλα τα καλά μαζι?

Kali xronia se olous. Eimai kainourgios sta linux. Apo apache exo doulepsei se mac os x kai windows. edo dn katalava pou prepei na antigrapso ta arxeia mou oste otan patao localhost na mou dixnei tin selida mou

εκεί που σου λέει το αρχείο http.conf ή κάπως έτσι ανάλογα την διανομή.
π.χ. /var/www/html

Παιδιά όλα καλά όλα ωραία με τις εγκαταστάσεις ρυθμίσεις κ.λπ αλλά εχω ένα prob με το drupal.Ζητάει να κάνω filesystem και βγάζει error The directory files does not exist.Που να τον κάνω αυτόν τον φάκελο τι δικαιώματα και λοιπά να το δώσω και γενικά τι άλλο πρέπει να κάνω για να φύγει το πρόβλημα ;;;;

thanos, τι διανομή έχεις και που προσπαθείς να το εγκαταστήσεις (σε public_html ή σε /var/www);

Το drupal μια χαρά το εγκατέστησα στο /var/www σε Ubuntu αλλά όταν κάνω log in στο status report λέει

και πατώντας το λινκ βγάζει το παρακάτω

Αν το κάνω το τευλευταίο βήμα του οδηγού για τις σελίδες μέσα στο home τα ίδια θα βγάζει ???

Ακολούθησα όλες τις οδηγίες και εγκαταστάθηκαν μια χαρά όλα, αλλά:

1. Μου εμφανίζει το εξης μήνυμα όταν εκκινεί ο apache:

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

2. Μου εμφανίζει το εξής μήνυμα όταν εκκινεί ο phpmyadmin:

The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.

3. Ενώ έχω Ubuntu, ο web κατάλογος βρίσκεται στο /var/www/apache2-default/, ωστόσο το localhost παραπέμπει στο /var/www/, με αποτέλεσμα να πρέπει να δίνω http://localhost/apache2-default/ και την σελίδα που με ενδιαφέρει στον Firefox για να την δω, κάτι που είναι λίγο εκνευριστικό... Δοκίμασα και τις τελευταιές εντολές του οδηγού για αλλαγή της τοποθεσίας έναρξης, αλλά ενώ δεν έβγαλαν κανένα σφάλμα δεν την άλλαξαν (ούτε προς το /var/www/ ούτε προς τον κατάλογο home)...

Edit: Πάντως όλα δουλεύουν ρολόι, αλλά αν λυθούν και αυτά να ηρεμήσω γιατί πότε δεν ξέρεις τι μπορεί να προκύψει...

1)Αυτό το βγάζει γιατί δεν έχεις κάποιο όνομα για τον σερβερ (πχ apkoutsou-server) στις ρυθμίσεις σου ή επειδή δεν έχεις ρυθμίσει το DNS (αν έχεις) να ελέγχει την ip σου,οπότε είσαι οκ.

2) I dunno :(

3)Ένας εύκολος τρόπος είναι να βάλεις τα αρχεία που 8ες έξω από τον φάκελο /apache2-default και όταν πατάς στο http://localhost/ θα εμφανίζει ότι εμφάνιζε και στο http://localhost/apache2-default/ .

-------------------

Η ΔΕΗ σας εύχεται Καλές Διακοπές !!!!

3) Δυστυχώς... όταν δίνω http://localhost/ μου εμφανίζει τα περιεχόμενα του /var/www/ σαν ftp server (!?!?!)

apkoutsou, μέσα στο /var/www/ έχεις την αρχική σελίδα index.html;

Αν όχι, δημιούργησε μία και κάθε φορά που θα συνδέεσαι στο localhost
θα εμφανίζετε το περιεχόμενο της.

Τελικά, είμαι πολύ ψάρι...

Επειδή ακόμα εξερευνώ το linux κολλάω σε κάθε μικρή λεπτομέρεια λες και ήρθε το τέλος του κόσμου, ενώ δεν βάζω το μυαλό να δουλέψει σωστά...

Υπάρχει κάποιο εργαλείο όπως το phpmyadmin για τον έλεγχο του apache2 server?

Υπάρχει το Webmin που δίνει τη δυνατότητα ελέγχου και του Apache και της MySQL. Eγκαθίσταται εύκολα και δουλεύει μέσω browser.

Ευχαριστώ dimitris!! Το δοκίμασα μόλις...Είναι εξαιρετικό και με τρομερές δυνατότητες...