רספברי פיי הוא מעולה לאלו שרוצים להתנסות בפיתוח ווב. נכון, המתכנתים המנוסים יותר ירימו את האתר שלהם באמזון, הרוקו, אז'ור או ספק ענן אחר כלשהו. אבל כאשר אנו עושים את הצעדים הראשונים – אנו נשמח לסביבה ביתית.
בנוסף, אם אנו רוצים להרים אתר ביתי כבסיס למערכת IoT, אפשר וכדאי לעשות את זה בשרת הביתי שלנו כדי להמנע ממרעין בישין של אבטחה ולהנות מביצועים משופרים. למדנו על הפעלת שרת Node.js והפעלת שרת פייתון בסיסי. אבל רבים אוהבים להשתמש גם בוורדפרס או ב-PHP.
התקינו את רספברי פיי והתחברו אליו עם SSH. מעכשיו, החגיגה מתחילה:
התקנת Apache
PHP לא רצה בווב באופן עצמאי או מייצרת שרת ווב (כמו Node.js למשל), היא זקוקה לשרת שיריץ אותה. השרת הזה הוא Apache. ההתקנה? הכי פשוטה שיש:
sudo apt install apache2 -y
אחרי פרק זמן קצר, ההתקנה תושלם. איך נבדוק? נכנס אל: http://raspberrypi.local אם הכל תקין, ואין שום סיבה שהוא יהיה לא תקין – נראה את הדף הזה:
התקנת PHP
שפת התכנות PHP היא השפה שמריצה את וורדפרס וצריך להתקין אותה על הרספברי פיי. גם במקרה הזה ההתקנה היא סופר פשוטה:
sudo apt install php -y
אחרי ההתקנה, אנו נקליד php -v – אם הכל תקין נקבל את הגרסה:
מהנקודה הזו אפשר להריץ PHP ולראות אותו בדפדפן. הכי פשוט בעולם! התיקיות החשופות של apache נמצאות ב: /var/wwwhtml/. אם נכנס לשם, או באמצעות ה-IDE או אפילו עם nano, אנו יכולים ליצור קובץ PHP שירוץ. אבל אנו מעוניינים בוורדפרס. אז נמשיך הלאה.
התקנת mariaDB
וורדפרס חייבת מסד נתונים, שבו המידע שלה נשמר. על מנת לעשות את זה, אנו נתקין הן את מסד הנתונים והן את הקישור בינו לבין PHP. ברספברי פיי אנו נשתמש (מטעמי רשיונות) ב-mariaDB שהוא זהה אחד לאחד ל-MySQL.
udo apt install mariadb-server php-mysql -y
אחרי כן נאתחל את ה-apache:
sudo service apache2 restart
התקנת וורדפרס
קבצי וורדפרס צריכים לרדת ואנו צריכים לקשר אותם ל /var/www/html. התיקיה שבה apache מציג. אז קודם כל, למחוק את מה שיש שם. שזה דף הדוגמה שאותו ראינו.
cd /var/www/html/
sudo rm *
השלב הבא הוא להוריד את גרסת הוורדפרס האחרונה. פקודה ההורדה שאנו משתמשים בה היא wget שהיא פשוטה – תביא את מה שיש ב-url שנותנים לך.
sudo wget http://wordpress.org/latest.tar.gz
שם הקובץ הוא לוורדפרס בגרסה האנגלית. אם אתם רוצים את הגרסה העברית, השתמשו ב: https://he.wordpress.org/latest-he_IL.zip.
אחרי שהקובץ ירד, נפתח אותו, נעביר אותו לתיקית וורדפרס ונבצע ניקוי כללי של הכל וכן ניתן למשתמש apache הרשאה להריץ את וורדפרס (בלינוקס מערכת ההרשאות מחייבת את זה).
sudo tar xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R www-data: .
לחבר את מסד הנתונים
השלב הבא – לסדר את מסד הנתונים. כלומר ליצור את המשתמש הראשי, ליצור לו סיסמה, לנקות משתמשים אנונימיים. תענו Y על הכל.
sudo mysql_secure_installation
השאלות שיש הן – האם ליצור סיסמה למשתמש root (התשובה היא כן). האם למחוק משתמשים אנונימיים (כן) למנוע ממשתמשים שהם לא בלוקאל להתחבר כ-root (כן) וכך הלאה.
עכשיו נכנס אל תוך קונסולת מסד הנתונים כדי להתחבר. זו בעצם קונסולה בתוך קונסולה. זה עלול להיות מלחיץ למי שלא מכיר, אבל – וזה אבל גדול:
1. אם אתם רוצים לעבוד עם וורדפרס – כדאי מאוד להכיר את MySQL. זה יוסיף מאוד מאוד לעבודה איתו.
2. MySQL היא לא מאוד מסובכת להכרות ולעבודה. זה מסד נתונים אולטרא פופולרי. יש לי פה באתר סדרה ארוכה של מדריכים שמסבירים על MySQL.
נכנסים אל הקונסולה מסד הנתונים עם הפקודה:
sudo mysql -u root -p
אנו נתבקש להכניס את הסיסמה. סיימנו? אנחנו בקונסולה של מסד הנתונים! כאמור מדובר ב-MariaDB שהוא פורק של MySQL אבל הוא בדיוק, בדיוק, בדיוק אותו דבר.
אנו ניצור את מסד הנתונים:
CREATE DATABASE wordpress;
שם מסד הנתונים הוא wordpress. השלב הבא הוא ליצור משתמש. הריצו את הפקודה הבאה והכניסו סיסמה משלכם במקום ה-PASSWORD.
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'PASSWORD';
עכשיו אנו נחבר את המשתמש למסד הנתונים באמצעות:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
ננקה את הכל עם:
FLUSH PRIVILEGES;
ונצא מהקונסולה של מסד הנתונים החוצה עם:
exit;
ההתקנה עצמה
הכל מוכן, יש לנו את שם מסד הנתונים: wordpress, שם המשתמש שזה wordpressuser והסיסמה שהיא PASSWORD (אבל היא לא, כי החלפתם אותה! נכון?). ועכשיו לעבודה. נכנס עם הדפדפן ל http://raspberrypi.local ונגיע למסך ההתקנה של וורדפרס. זה הכח! אפשר עכשיו להתחיל לעבוד על האתר הביתי שלנו. לייבא אליו תכנים וחומרים והכל – מהרשת הביתית.
שינויי הרשאות בשרת
על מנת לאפשר העלאת תמונות לאתר שלנו, אנו צריכים להכנס אל תיקית ה-uploads ולשנות את ההרשאות:
cd /var/www/html/wp-content
sudo chown -R www-data:www-data uploads/
chmod 755 uploads -R
תקלות ושגיאות נפוצות
ניסיתי את כל הפקודות האלו בעצמי. שגיאות יכולות להתקיים רק אם לא שמים לב לחלק מההוראות או שגיאות הקלדה שרובן מתרחשות בשלב הגדרת מסד הנתונים.
Error establishing a database connection
לפעמים יש בעיות בחיבור. ברוב הפעמים זה בגלל שפישלתם עם שם המשתמש ו/או הסיסמה. אם הוא מציג לכם שיש בעיה בחיבור. בעיה שנראית כך:
זה הרבה פעמים בגלל שטעיתם בהקלדה של שם המשתמש והסיסמה. נסו להכנס לקונסולה של MySQL באמצעות:
sudo mysql -u root -p
למחוק את שם המשתמש ולהריץ את כל החלק של MySQL שוב:
DROP USER 'wordpressuser'@'localhost'
בעיית הרשאות (מצליח לעשות USE)
בעיית הרשאות מתרחשת כאשר שכחנו לתת את ההרשאות הנכונות ל wordpressuser או ששכחנו לעשות FLUSH PRIVILEGES. הכנסו שוב לקונסולה של MySQL:
sudo mysql -u root -p
הריצו את:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
ואז את:
FLUSH PRIVILEGES;
5 תגובות
תענוג צרוף ממש לראות שסוף סוף החינוך הטכני מגיע למחוזנו!!!!!
בשורה הבאה נראה שחסרה האות S
udo apt install mariadb-server php-mysql -y
למה apache ולא nginx? סתם העמסה על השרת.
ושימוש במשתמש root של Mysql הוא הרגל גרוע. עדיף ליצור משתמש נפרד לבסיס הנתונים.
יש דרך לגרום לזה שיהיה אפשר לגשת ל raspberrypi מרחוק לא רק ב LAN?
נגיד יש לי דומיין ואני רוצה לקשר אותו לרספברי פי אבל אין לו IP חיצוני
כן, אתה צריך להשתמש בשירות של dns דינמי (כמו No-ip למשל) שיעדכן את הכתובת כל פעם שה־IP שלך משתנה ולהפנות פורטים בנתב לפאי.
לבעלי שרתי Synology כתבתי מדריך להרמת שרת ווב ( וDNS ) – ניתן להרים מאוד בקלות
https://netwisdom.tk/he/%d7%90%d7%99%d7%97%d7%a1%d7%95%d7%9f-%d7%90%d7%aa%d7%a8-%d7%a2%d7%9c-%d7%a9%d7%a8%d7%aa-%d7%91%d7%99%d7%aa%d7%99/