רספברי פיי כשרת אינטרנט ביתי המאחסן וורדפרס

התקנת אתר אינטרנט מבוסס וורדפרס בשרת ביתי קטן ונחמד על רספברי פיי.

רספברי פיי הוא מעולה לאלו שרוצים להתנסות בפיתוח ווב. נכון, המתכנתים המנוסים יותר ירימו את האתר שלהם באמזון, הרוקו, אז'ור או ספק ענן אחר כלשהו. אבל כאשר אנו עושים את הצעדים הראשונים – אנו נשמח לסביבה ביתית.

בנוסף, אם אנו רוצים להרים אתר ביתי כבסיס למערכת IoT, אפשר וכדאי לעשות את זה בשרת הביתי שלנו כדי להמנע ממרעין בישין של אבטחה ולהנות מביצועים משופרים. למדנו על הפעלת שרת Node.js והפעלת שרת פייתון בסיסי. אבל רבים אוהבים להשתמש גם בוורדפרס או ב-PHP.

התקינו את רספברי פיי והתחברו אליו עם SSH. מעכשיו, החגיגה מתחילה:

התקנת Apache

PHP לא רצה בווב באופן עצמאי או מייצרת שרת ווב (כמו Node.js למשל), היא זקוקה לשרת שיריץ אותה. השרת הזה הוא Apache. ההתקנה? הכי פשוטה שיש:

sudo apt install apache2 -y

אחרי פרק זמן קצר, ההתקנה תושלם. איך נבדוק? נכנס אל: http://raspberrypi.local אם הכל תקין, ואין שום סיבה שהוא יהיה לא תקין – נראה את הדף הזה:

דף ההגדרות של Apache

התקנת PHP

שפת התכנות PHP היא השפה שמריצה את וורדפרס וצריך להתקין אותה על הרספברי פיי. גם במקרה הזה ההתקנה היא סופר פשוטה:

sudo apt install php -y

אחרי ההתקנה, אנו נקליד php -v – אם הכל תקין נקבל את הגרסה:

התקנה של php

מהנקודה הזו אפשר להריץ 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.

הרצת wget wordpress

אחרי שהקובץ ירד, נפתח אותו, נעביר אותו לתיקית וורדפרס ונבצע ניקוי כללי של הכל וכן ניתן למשתמש 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;

פוסטים נוספים שכדאי לקרוא

רספברי פיי

מה זה AIoT? ואיך אפשר להתחיל?

פוסט עם המון קישורים, מידע, סרטונים ופרק בפודקאסט שיפתח לכם שער לעולם ה-AIoT המרתק.

פתרונות ומאמרים על פיתוח אינטרנט

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

בינה מלאכותית

להריץ ממשק של open-webui על הרספברי פיי

להפעיל ממשק של צ׳אט ג׳יפיטי שאפשר לגשת אליו מכל מחשב ברשת הביתית על רספברי פיי עם מודל בשם tinydolphin שרץ על רספברי פיי.

גלילה לראש העמוד