סקוניל וטנ'גב (PhpMyAdmin -ו Linux, Nginx, MySQL/MariaDB, PHP/PHP-FPM) LEMP תנקתה
.תישיא המאתה לש ההובג המר שי ,ןכ ומכ ,דואמ רהמ תדבועו תלעופה םירתא יחתפמ לש האלמ המרופטלפ תיינבל םישורדה םימיוסמ םילכ - Portage - הלש הנכותה לוהינ תינכות תקפסמו תורוקמה תורוקממ תו
.תרשה תורוצת תא דואמ ומיאתי ,טנרטניא תמרופטלפל תושורדה תורדגה וא םילודומ - רודיה ךילהתב הליבח תוילנויצקנופ לש הצובק העיצמה ,Portage Management Management ידי לע םינתינה שומיש ילגד <
Nginx טנרטניאה תרש תא ןקתה :1 בלש
.תנכדועמ ךלש תכרעמהו Portage תורוקמש אדוו תיטטס IP תבותכ םע רדגוה ךלש NIC -ה יכ אדוו Nginx תנקתהב ךישמהל הסנתש ינפל .1
$ sudo su - # emerge --sync # emerge --update --deep --with-bdeps=y @world
.האבה הדוקפה תלעפה ידי לע Nginx לש לדחמ תרירב תנקתה ילודומ לש הנושאר המישר .
# emerge -pv nginx
. equery הדוקפב שמתשה (תוליבח USE flags for) םילודומ לע טרופמ עדימל
# equery uses nginx
.האבה הדוקפה םע Nginx תא ןקתה ןכמ רחאל
# emerge --ask nginx
.םישדח םילודומ םע Nginx תא שדחמ רודיה זאו ,היחנה NGINX_MODULES_HTTP םע . http:// localhost לא ןפדפדה תיינפה ידי לע ותוא תמאו http ןומדה תא לחתה ,Nginx הווהתמה Portage םויס רחאל .3 .Apache תמויס תא ריסמ התאש אדוו Portage USE ילגד לע תובחרה .בושח PHP ראשו fpm תפסוה ידי לע b> PHP-FastCGI Process Manager ( FPM )> תא ןקתה ,Nginx תרש םע PHP לש תימניד .םיאבה םייונישה תא עצבו php-fpm הרוצתה ץבוק תא חתפ .תורישה תרוצת ץבוקב םייוניש ליחהל שי PHP-FPM תליחת ינפל .5 .ךכ תואריהל ידכ תואבה תוארוהה תא רספהו אצמ .תורישב לחתהו PHP-FPM ןמוי ץבוק תואשרה הנש ,PHP-FPM לש הרוצתה ץבוק תכירע רחאל .6 .Nginx לש הרוצתה יצבקב םימיוסמ םייוניש עצבל שי ןכל ,PHP -ה רעש םע רשקתל הלוכי אל PHP-FPM, Nginx תוריש לעפומ םא םג .תואבה תורוצתה תא עצבו /etc/nginx/ ביתנב םקוממה nginx.conf ץבוקה תא חתפ ,םיילאוטריו םיחראמ רשפאלו וז תוגהנתה תונשל ידכ .דבלב localhost רובע יסיסב HTTP עקש קר קפסמ Ngi .הטמל ךסמה םוליצב ומכ תואריהל ויתורהצה לכ תא חבשהו IP -ה תבותכ 127.0.0.1 ב בישקמו localhost -ל םיאתמה ןושארה תרש ה קולב תא רתא .\"} \" םילתלותמ םיירגוס תריגס ינפל האבה הרהצהה תא ףסוהו תיתחתה תיתחתל רבעו ןיידע ץבוקה תא רוגסת לא .HTTPS -ו HTTP ילוקוטורפב localhost רובע הרוצת יצבקו Nginx תוירפס (שומישב םניאש םיילאוטריו םיחראמ רובע) םינימז םירתא ו ךמות ירתא רוצ ןכמ רחאל .8 .localhost רובע האבה ץבוקה תרוצת תא רוצ .אבה ץבוקה ןכות תא ףסוה .אבה הרוצתה ץבוק תא רוצ SSL םע localhost רובע .אבה ץבוקה ןכות תא ףסוה .Nginx לש םיילאוטריו םיחראמ לש התבשה וא הלעפהל תודוקפכ שמשמה ,(PATH $תפטעמ הנתשמ) תכרעמה לש הלעפהה ביתנב םיטפירקס ינש רוציל ןמזה עיגה וישכע .9 .< b /> םירתאב םיכמות ל םינימז םירתא -מ וניוצש םיחראמ ןיב ילמס רושיק תריצי ידי לע םיילאוטריו םיחראמ לש הרוצת יצבק רשפאיש n2ensite םשב ןושארה Bash -ה טפירקס תא רוצ .אבה ץבוקה ןכות תא ףסוה .אבה ןכותה םע לעפומה Nginx ביתנ מ וניוצש םיליעפ םיילאוטריו םיחראמ קחמיש , n2dissite ארקנש ינשה טפירקסה תא רוצ זא .10 .אבה ןכותה תא ףסוה .םייוניש ליחהל ידכ PHP-FPM -ו Nginx יתוריש תא שדחמ לעפה זאו , .conf תמויס אלל Virtual Host לש הרוצתה ץבוק םשב שמתשה - localhost לש לאוטריווה יחראמ תא לעפהו עוציב תואשרה ףסוה ,Bash . http://localhost/info.php וא https:/localhost/info .php ל ךלש ןפדפדה תא שדחמ הנפהו (/var/www/localhost/htdocs ) טנרטניא יצבק רובע localhost לש לדחמה .תכרעמה יחראמ ץבוקב םיימוקמ םיכרעב שמתשה וא טנרטניא תרש םע דדומתמ- טנרטניאל םיפקת DNS יעיבצמ ךל שיש אדו ךא ,הצרתש לככ םיבר טנרטניא ירתא תעכ תולקב ףיסוהל לכות n2dismod -ו .Gentoo -ב LAMP תנקתהב גצומה ךילה התואב שמתשה MySQL רובע PhpMyAdmin טנרטניאה קשממ תאו MySQL לש םינותנה דסמ תא ןיקתהל ידכ .ותוא ןיקתהלו . .(הקידבל םינותנ דסמ/ימינונא שמתשמ רסה ,localhost -ל ץוחמ שרושל הסינכ תבשה ,שרוש תמסיס הנש) mysql_secure_installation תועצמאב החטבאה תוריש תא לחתה ,MySQL לש םינותנה דסמ תנקתה רחא . האיצי הדוקפה םע ותוא ריאשהלו ולש תוילנויצקנופה תא קודבל ידכ mysql -u root -p הדוקפה תועצמאב MySQL לש םינותנה דסמל סנכיה .15 .תואבה תודוקפה עוציב ידי לע PhpMyAdmin לש ימדקה הצקה תא ןקתה .MySQL לש הדוקפה תרוש םע ידמ בוט ךניא םא .16 .PhpMyAdmin טנרטניאה קשממל תשגל ךנוצרבש םיילאוטריו םיחראמ לש ךמסמה שרוש ביתנל usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ -מ ילמס רושיק רוצ זאו ,תיאר . https:/localhost/phpmyadmin האבה URL -ה תבותכב שמתשהו ןפדפד חתפ ,PhpMyAdmin טנרטניאה קשממ ךרד MySQL לש םינותנה דסמל תשגל ידכ .18 .שדחמ לוחתא רחאל תיטמוטוא ליחתהל ,תכרעמה יבחרב םיתוריש רשפאל אוה ןורחאה בלשה .19 .ךרובע תקפסמ תויהל הכירצ ליעל הרוצתה ,SSL ירתאל קוקז ךניאו PHP -ו HTML, JavaScript -ב ורצונש םידומעב קר שמתשמ התא םאו ,םירתא חוריאל תילמינימ הביבס תרדגה ונל שי תעכ# echo 'NGINX_MODULES_HTTP="dav auth_pam fancyindex geoip fastcgi uwsgi gzip rewrite"' >> /etc/portage/make.conf
# emerge --ask nginx
PHP ןקתה :2 בלש
# emerge -pv php
# equery uses php
# echo " dev-lang/php fpm cgi curl gd imap mysql mysqli pdo zip json xcache apc zlib zip truetype -apache2 " >> /etc/portage/package.use
# emerge --ask php
# nano /etc/php/fpm-php5.5/php-fpm.conf
error_log = /var/log/php-fpm.log
listen = 127.0.0.1:9000 ## Here you can use any HTTP socket (IP-PORT combination ) you want ##
pm.start_servers = 20
# chmod 755 /var/log/php-fpm.log
# /etc/init.d/php-fpm start
Nginx תורוצת ךורע :3 בלש
# nano /etc/nginx/nginx.conf
Include /etc/nginx/sites-enabled/*.conf;
# mkdir /etc/nginx/sites-available
# mkdir /etc/nginx/sites-enabled
# nano /etc/nginx/sites-available/localhost.conf
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost_access_log main;
error_log /var/log/nginx/localhost_error_log info;
root /var/www/localhost/htdocs;
location / {
index index.html index.htm index.php;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location ~ \.php$ {
# Test for non-existent scripts or throw a 404 error
# Without this line, nginx will blindly send any request ending in .php to php-fpm
try_files $uri =404;
include /etc/nginx/fastcgi.conf;
fastcgi_pass 127.0.0.1:9000; ## Make sure the socket corresponds with PHP-FPM conf file
}
}
# nano /etc/nginx/sites-available/localhost-ssl.conf
server {
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate /etc/ssl/nginx/nginx.pem;
ssl_certificate_key /etc/ssl/nginx/nginx.key;
access_log /var/log/nginx/localhost.ssl_access_log main;
error_log /var/log/nginx/localhost.ssl_error_log info;
root /var/www/localhost/htdocs;
location / {
index index.html index.htm index.php;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location ~ \.php$ {
# Test for non-existent scripts or throw a 404 error
# Without this line, nginx will blindly send any request ending in .php to php-fpm
try_files $uri =404;
include /etc/nginx/fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
}
# nano /usr/local/bin/n2eniste
#!/bin/bash
if test -d /etc/nginx/sites-available && test -d /etc/nginx/sites-enabled ; then
echo "-----------------------------------------------"
else
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
fi
avail=/etc/nginx/sites-available/$1.conf
enabled=/etc/nginx/sites-enabled/
site=`ls /etc/nginx/sites-available/`
if [ "$#" != "1" ]; then
echo "Use script: n2ensite virtual_site"
echo -e "\nAvailable virtual hosts:\n$site"
exit 0
else
if test -e $avail; then
sudo ln -s $avail $enabled
else
echo -e "$avail virtual host does not exist! Please create one!\n$site"
exit 0
fi
if test -e $enabled/$1.conf; then
echo "Success!! Now restart nginx server: sudo /etc/init.d/ nginx restart"
else
echo -e "Virtual host $avail does not exist!\nPlease see available virtual hosts:\n$site"
exit 0
fi
fi
# nano /usr/local/bin/n2dissite
#!/bin/bash
avail=/etc/nginx/sites-enabled/$1.conf
enabled=/etc/nginx/sites-enabled
site=`ls /etc/nginx/sites-available/`
if [ "$#" != "1" ]; then
echo "Use script: n2dissite virtual_site"
echo -e "\nAvailable virtual hosts: \n$site"
exit 0
else
if test -e $avail; then
sudo rm $avail
else
echo -e "$avail virtual host does not exist! Exiting!"
exit 0
fi
if test -e $enabled/$1.conf; then
echo "Error!! Could not remove $avail virtual host!"
else
echo -e "Success! $avail has been removed!\nPlease restart Nginx: sudo /etc/init.d/nginx restart"
exit 0
fi
fi
# chmod +x /usr/local/bin/n2dissite
# chmod +x /usr/local/bin/n2ensite
# n2ensite localhost
# n2ensite localhost-ssl
# service nginx restart
# service php-fpm restart
echo "<?php phpinfo(); ?>" /var/www/localhost/htdocs/info.php
MySQL/MariaDB + PhpMyAdmin תא ןקתה :4 בלש
# emerge -pv mariadb
# emerge --ask mariadb
# echo “=dev-db/mariadb-5.5.37-r1 ~amd64” >> /etc/portage/package.accept.keywords
# echo “=virtual/mysql-5.5 ~amd64” >> /etc/portage/package.accept.keywords
# emerge --ask mariadb
# service mysql start
# mysql_secure_installation
# mysql -u root -p
MariaDB > show databases;
MariaDB > exit;
# emerge -pv dev-db/phpmyadmin
# echo “dev-db/phpmyadmin setup vhosts” >> /etc/portage/package.use
# emerge --ask dev-db/phpmyadmin
# cd /usr/share/webapps/phpmyadmin/4.2.2/htdocs/
# cp config.sample.inc.php config.inc.php
# nano config.inc.php
# ln -s /usr/share/webapps/phpmyadmin/4.2.2/htdocs/ /var/www/localhost/htdocs/phpmyadmin
# rc-update add nginx default
# rc-update add php-fpm default
# rc-update add mysql default