Εισαγωγή
Βήμα πρώτο: Ενημερώστε τα υπάρχοντα πακέτα
Βήμα δεύτερο: Εγκαταστήστε το Nginx
Βήμα τρίτο: Εγκαταστήστε την PHP 5.5
Βήμα τέταρτο: Εγκαταστήστε τη MySQL
Ορισμός ζώνης ώρας (υπό όρους)
Βήμα πέμπτο: Διαμόρφωση του Nginx για εξυπηρέτηση του Wordpress
Βήμα έκτο: Διαμόρφωση της PHP
Βήμα έβδομο: Ρύθμιση της βάσης δεδομένων MySQL
Βήμα όγδοο: Εγκατάσταση των αρχείων WordPress
Εισαγωγή
Σε αυτό το σεμινάριο, θα μάθετε πώς να εγκαταστήσετε το WordPress σε μια πρόσφατα δημιουργημένη παρουσία. Θα παρουσιάσω την εγκατάσταση σε διακομιστή Ubuntu 14.04. Αυτές οι οδηγίες μπορεί επίσης να λειτουργούν σε παλαιότερες εκδόσεις του Ubuntu και του Debian.
Λοιπόν, ας ξεκινήσουμε.
Βήμα πρώτο: Ενημερώστε τα υπάρχοντα πακέτα
apt-get update && apt-get upgrade
Βήμα δεύτερο: Εγκαταστήστε το Nginx
Ο Nginx είναι ένας ελαφρύς διακομιστής web υψηλής απόδοσης που έχει σχεδιαστεί με σκοπό την παροχή μεγάλων ποσοτήτων στατικού περιεχομένου με αποτελεσματική χρήση των πόρων του συστήματος. Σε αντίθεση με τον Apache, το Nginx χρησιμοποιεί ένα ασύγχρονο μοντέλο που βασίζεται σε συμβάντα που παρέχει πιο προβλέψιμη απόδοση υπό φορτίο.
Ας προσθέσουμε ένα αποθετήριο τρίτου μέρους για να εγκαταστήσουμε την πιο πρόσφατη έκδοση του Nginx (1.6.1).
sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update
sudo apt-get install nginx
service nginx start
Τώρα, ας ελέγξουμε αν ο διακομιστής είναι σε λειτουργία και λειτουργεί.
http://YOUR-VPS-IP
Θα πρέπει να σας μεταφέρει στην προεπιλεγμένη σελίδα προορισμού του Nginx.
Βήμα τρίτο: Εγκαταστήστε την PHP 5.5
Η PHP είναι μια ευρέως χρησιμοποιούμενη γλώσσα δέσμης ενεργειών γενικού σκοπού ανοιχτού κώδικα που είναι ιδιαίτερα κατάλληλη για ανάπτυξη ιστού και μπορεί να ενσωματωθεί σε HTML.
Ας εγκαταστήσουμε την πιο πρόσφατη έκδοση της PHP στον διακομιστή μας.
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
Εάν θέλετε να ελέγξετε την έκδοση PHP, εκτελέστε την ακόλουθη εντολή:
php -v
Θα δείτε κάτι τέτοιο.
PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Τώρα, θα κάνουμε μια μικρή αλλαγή διαμόρφωσης για να κάνουμε τη ρύθμισή μας πιο ασφαλή. Ανοίξτε το κύριο αρχείο διαμόρφωσης php5-fpm με δικαιώματα root:
sudo nano /etc/php5/fpm/php.ini
Πατήστε Ctrl+W και αναζητήστε cgi.fix_pathinfo=. Καταργήστε το σχόλιο (διαγραφή ;) και αλλάξτε το 1 σε 0. Μετά τις αλλαγές, η γραμμή θα πρέπει να μοιάζει με αυτό:
cgi.fix_pathinfo=0
Αποθηκεύστε ( Ctrl+O ) και κλείστε το αρχείο ( Ctrl+X ).
Τώρα, πρέπει απλώς να επανεκκινήσουμε τον επεξεργαστή PHP πληκτρολογώντας:
sudo service php5-fpm restart
Βήμα τέταρτο: Εγκαταστήστε τη MySQL
Για να αποθηκεύσουμε και να διαχειριστούμε βάσεις δεδομένων, πρέπει να εγκαταστήσουμε τη MySQL. Μπορείτε να το εγκαταστήσετε εύκολα πληκτρολογώντας τα παρακάτω στην κονσόλα:
sudo apt-get install mysql-server
Κατά τη διαδικασία εγκατάστασης, θα σας ζητηθεί να ορίσετε έναν κωδικό πρόσβασης root για τη MySQL. Αφού ορίσετε τον κωδικό πρόσβασης root, θα πρέπει να πούμε στη MySQL να δημιουργήσει τη δομή καταλόγου όπου θα αποθηκεύει τις βάσεις δεδομένων.
sudo mysql_install_db
Ας το ολοκληρώσουμε εκτελώντας ένα σενάριο ασφαλείας που θα τροποποιήσει ορισμένες προεπιλεγμένες ανασφάλειες.
sudo mysql_secure_installation
Απλώς πληκτρολογήστε τον κωδικό πρόσβασης root MySQL και πληκτρολογήστε nεάν δεν θέλετε να τον αλλάξετε. Μετά από αυτό, πληκτρολογήστε yκάθε ερώτηση.
Ορισμός ζώνης ώρας (υπό όρους)
Από προεπιλογή, η ζώνη ώρας του διακομιστή σας είναι UTC. Εάν ζείτε σε διαφορετική ζώνη ώρας, μπορείτε να την αλλάξετε πληκτρολογώντας την ακόλουθη εντολή:
sudo dpkg-reconfigure tzdata
Σε αυτό το σημείο, ο διακομιστής LEMP είναι σε λειτουργία και λειτουργεί.
Βήμα πέμπτο: Διαμόρφωση του Nginx για εξυπηρέτηση του Wordpress
Ας ξεκινήσουμε την εγκατάσταση του Wordpress δημιουργώντας ένα μπλοκ διακομιστή Nginx για τον ιστότοπό μας.
sudo nano /etc/nginx/sites-available/wordpress
Επικολλήστε εκεί τον παρακάτω κώδικα:
server {
listen 80;
root /var/www/wordpress;
index index.php index.html index.htm;
server_name domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
Αυτό είναι ένα καλά συντονισμένο αρχείο διαμόρφωσης Wordpress με υποστήριξη μόνιμων συνδέσμων. Αποθηκεύστε ( Ctrl+O ) και κλείστε το αρχείο ( Ctrl+X ). Ας ενεργοποιήσουμε το μπλοκ διακομιστή με συμβολική σύνδεση:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
Στη συνέχεια, θα διαγράψουμε το μπλοκ προεπιλεγμένου διακομιστή Nginx.
sudo rm /etc/nginx/sites-enabled/default
Τώρα, θα συντονίσουμε το κύριο αρχείο διαμόρφωσης Nginx:
sudo nano /etc/nginx/nginx.conf
Βεβαιωθείτε ότι ο αριθμός των διεργασιών εργασίας είναι ίσος με τον αριθμό των πυρήνων στην περίπτωσή σας.
user www-data;
worker_processes 1;
pid /run/nginx.pid;
Προσθήκη χρήσης epoll. στο μπλοκ συμβάντων.
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
Προσθέστε την οδηγία client_max_body_size και server_tokens off. Ορίστε το keepalive_timeout στα 30 δευτερόλεπτα.
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
Βεβαιωθείτε ότι ολόκληρο το μπλοκ ρυθμίσεων Gzip μοιάζει με αυτό:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
Αποθηκεύστε ( Ctrl+O ) και κλείστε το αρχείο ( Ctrl+X ). Στη συνέχεια επανεκκινήστε τον διακομιστή:
sudo service nginx restart
Εάν θέλετε να ανεβάσετε αρχεία άνω των 2mb στον ιστότοπό σας στο WordPress, πρέπει να αυξήσετε τις μεταβλητές μεγέθους μεταφόρτωσης PHP στο php.ini .
sudo nano /etc/php5/fpm/php.ini
Τώρα, πατήστε Ctrl+W και αναζητήστε το " upload_max_filesize " και ορίστε το στα 100m .
upload_max_filesize=100M
Κάντε το ίδιο με το post_max_size . Το post_max_size πρέπει να έχει το ίδιο μέγεθος ή μεγαλύτερο από το upload_max_filesize .
post_max_size=100M
Επανεκκινήστε την PHP.
sudo service php5-fpm restart
Βήμα έβδομο: Ρύθμιση της βάσης δεδομένων MySQL
Σε αυτό το βήμα, θα δημιουργήσουμε τον χρήστη της βάσης δεδομένων και τους πίνακες. Συνεχίστε και συνδεθείτε στο κέλυφος της MySQL:
mysql -u root -p
Συνδεθείτε χρησιμοποιώντας τον κωδικό πρόσβασης root MySQL. Θα χρειαστεί να δημιουργήσουμε μια βάση δεδομένων WordPress, μαζί με έναν χρήστη στη βάση δεδομένων. Αρχικά, ας φτιάξουμε τη βάση δεδομένων (μη διστάσετε να της δώσετε όποιο όνομα θέλετε):
CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
Μετά από αυτό, πρέπει να δημιουργήσουμε έναν νέο χρήστη. Αντικαταστήστε τη βάση δεδομένων, το όνομα και τον κωδικό πρόσβασης με ό,τι προτιμάτε:
CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)
Ορίστε έναν κωδικό πρόσβασης για τον νέο σας χρήστη:
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
Ολοκληρώστε παραχωρώντας όλα τα προνόμια στον νέο χρήστη. Χωρίς αυτήν την εντολή, το πρόγραμμα εγκατάστασης του WordPress δεν θα μπορεί να ξεκινήσει:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
Στη συνέχεια, ανανεώστε τη MySQL:
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Έξοδος από το κέλυφος της MySQL:
exit
Βήμα όγδοο: Εγκατάσταση των αρχείων WordPress
Έχουμε σχεδόν τελειώσει. Ας προχωρήσουμε στην εγκατάσταση του WordPress.
Πρώτα πλοηγηθείτε στον ριζικό κατάλογο του ιστότοπου:
mkdir /var/www/
cd /var/www/
Τώρα, κατεβάστε την πιο πρόσφατη έκδοση του WordPress:
wget http://wordpress.org/latest.tar.gz
Αποσπάστε το από το αρχείο:
tar -xzvf latest.tar.gz
Δώστε τα δικαιώματα /var/www/wordpressστον www-dataχρήστη. Θα επιτρέψει μελλοντική αυτόματη ενημέρωση των προσθηκών WordPress και επεξεργασία αρχείων με SFTP.
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
Τελείωσες! Ο νέος σας ιστότοπος WordPress είναι τώρα έτοιμος. Απλώς πλοηγηθείτε στον ιστότοπό σας και ολοκληρώστε την εγκατάσταση.