כשאנו חושבים על תשתית לאתר וורדפרס, אנחנו חושבים בעיקר על איחסון שיתופי. ועם כל הבעיות, אחסון שיתופי בדרך כלל הוא הפתרון הזול והטוב ביותר לרוב אתרי המסחר שאני מכיר. ספק אחסון טוב (אני ממליץ על SPD מניסיון אישי אגב) ינהל היטב את כל עניין התשתית, יספק לוח בקרה טוב ותמיכה טובה ויאפשר להתקין אתר וורדפרס בשניות בלי ידע טכני.
אני הייתי לקוח מרוצה של SPD אבל היתה לי בעיה – אחסון שיתופי, גם בחבילה גדולה יחסית, הוא מוגבל מבחינת פיקים גם אם עשיתי לו אופטימיזציה ממש טובה. כל עוד נכנסים עשרות מבקרים לשניה זה בסדר, אבל כשנכנסים מאות הוא מגמגם – כיוון שה-CPU שלו וה-memory שלו מוגבלים – ושני אלו הם משאבים חשובים בכל מה שקשור לוורדפרס וכשהאתר שלי החל לגמגם בכל פעם שפרסמתי מאמר.
החבילה השיתופית ניתנת להגדלה עד גבול מסוים, מעבר לו אתה מתבקש בנימוס לעבור ל-VPS שזה ראשי תבות של Virtual Private Server. זה פתרון טוב, הבעיה הוא שהוא יקר ממש. אם אחסון שיתופי טוב עולה 100 שקל בחודש, VPS מתחיל באיזור ה-400. קצת יקר לאתר חינמי בלי פרסומות.
אז מה עושים? יש פתרון אחר – מעבר לאמזון. תשתית הענן של אמזון יכולה לספק ביצועים טובים ממש ובמחיר טוב שזהה לאחסון שיתופי איכותי – אבל היא כן מורכבת יותר מאחסון שיתופי. אז אני לא ממליץ בהגדרה לבצע מעבר כזה אם אתם לא מבינים מספיק בתשתית – כלומר מכירים את הסביבה שבה וורדפרס רץ, יודעים לשחזר אתר מגיבוי, להריץ קצת SSH ולינוקס ובאופן עקרוני יותר עצמאים בשטח מהמשתמש הממוצע. איך תדעו אם אתם מתאימים לזה? נסו לקרוא את המאמר הזה ולהתקין שרת וורדפרס ביתי – למשל על רספברי. אם כן – אז אפשרי בהחלט. אבל גם פה – רק אם יש צורך.
התשתית שאמזון מציעים מאוד מאוד מורכבת ובעבר היה צורך באמת לשבור את הראש גם על הרשאות וגם על תשתיות עצמן. אמזון כיום מציעה את Lightsail – שזה פתרון מאוד פשוט למימוש.
אז איך מתחילים? ראשית יוצרים חשבון ב-AWS ונכנסים ל-Lightsail:
https://lightsail.aws.amazon.com/
אחד הדברים הכי חשובים הוא לשים לב שיש regions שונים. כרגע אין לנו אחד בישראל וצריך לבחור. למרות שפרנקפורט יותר קרובה, אני ממליץ בחום על אירלנד כיוון שמהאיזור הזה אפשר גם לקבוע מכונת מייל שמקבלת מיילים. אבל זה לשיקולכם.
השלב הבא הוא פשוט ללחוץ על הכפתור הכתום של create instance:
ואז לבחור שאנו רוצים מכונת לינוקס (אתם לא רוצים מכונת חלונות) עם image של וורדפרס. צריך לכנות את המכונה בשם מסוים.
כמובן שגם צריך לבחור תוכנית. אפשר לראות שהמחירים די אטרקטיביים. לשנות instance זה קל יחסית. אז ממש אין בעיה לבחור מכונה קטנה יחסית ולשדרג אותה בהמשך.
נוצרה לנו מכונה והיא pending, אנו נמתין בסבלנות.
כל כמה דקות תרפרשו את הדף עד שהמכונה תהיה פעילה:
אנו נלחץ על האייקון הכתום של ה-shell. בגלל שזו הפעם הראשונה שאנו עולים, יש סיכוי שנראה את זה. אם כן, רק צריך להמתין כמה דקות ולנסות שוב.
אם הכל בסדר, אז אנו נקבל את המסך של shell. אנחנו יכולים לעבוד על המכונה!
ראשית, בואו ונראה מה שם המשתמש והסיסמה שלי. אני אקליד
cat bitnami_credetials
ואקבל אותם. אם אני אכניס את ה-IP החיצוני של המכונה לדפדפן – אני אראה את האתר עובד!
הבעיה היא שכתובת ה-IP הזו דינמית ואנחנו צריכים לקבוע כתובת סטטית. כי אם ה-IP ישתנה כל הזמן, תהיה לי בעיה לכוון את הדומיין לשם. נלחץ על שלוש הנקודות ונלחץ על Manage.
אחרי כן נלחץ על Networking:
וניצור כתובת סטטית.
בעצם מהנקודה הזו אין שום בעיה. יש לי כתובת IP, אני יכול להתחבר לאתר ולעבוד עליו. אני יכול לחבר את כתובת ה-IP ל-DNS ולהתחיל לעבוד. אבל בדרך כלל נרצה לייבא מידע מאתר אחר ובשביל זה יש לנו כל מיני תוספים. כמו למשל All-in-One WP Migration. נתקין אותו באתר הישן וניצור גיבוי.
אני אראה איך עושים את ההעלאה באמצעות הגרסה החינמית של התוסף. אנו נתקין את התוסף ונייצא את כל האתר לקובץ. זה קובץ עצום בגודלו (תלוי באתר, אבל באתר כמו אינטרנט ישראל זו מפלצת). שימו לב לכמה דברים:
1. זה תהליך שלוקח זמן וגוזל CPU, אז מומלץ לא לעשות אותו בזמני עומס.
2. כל מידע שיתווסף לאתר הישן אחריו מן הסתם לא יהיה בקובץ הזה.
אחרי שהורדנו את האתר, אנו נתחבר לאתר החדש ונבצע את הייבוא.
חשוב מאוד – להתחבר לאתר החדש באמצעות הכנסת כתובת ה-IP ל-hosts יחד עם השם. אחרת התוסף הארור משנה על דעת עצמו את כתובת האתר לכתובת ה-IP. אז מה שעושים זה להכנס ל-hosts במחשב ולשנות אותו כך שיפנה אל ה-IP החדש ורק אז לבצע את הייבוא. בקישור יש את כל המידע. העניין הוא שבשלב הייבוא ב-url אנו נראה את הכתובת של האתר, לא כתובת IP.
אם קובץ הגיבוי יותר גדול משמונים מגהבייט (הוא יהיה יותר גדול משמונים מגהבייט) תצטרכו להעלות את הגודל המותר ב-php.ini. זה יותר פשוט ממה שאתם חושבים. בטרמינל צריך להקליד
sudo /opt/bitnami/php/etc/php.ini
ואז לשנות את הערכים של:
; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M
לפי מה שאתם צריכים ולרסט את ה-apache עם
sudo /opt/bitnami/ctlscript.sh restart
זה הכל. מאיפה ידעתי את זה? מהתיעוד של bitnami שהוא ה-image שבו אנו משתמשים ובגדול רפרנס מוצלח מאוד לכל מיני פעולות.
אני אכנס לפאנל הניהול באתר החדש (זכרתם לשים את ה-hosts, נכון? חייבים להכנס אליו כשב-url למעלה יש את הכתובת של האתר! לא כתובת IP). שם, למרבה הנוחות, כבר הפלגין all in one backup מותקן. כל מה שאני צריך לעשות זה ייבוא. אני ממליץ בחום רב לפתוח דפדפן חדש לגמרי (זה הזמן לרענן את edge או אופרה) כדי לעשות את הייבוא. כיוון שתהיה לכם התראת HTTPS בוודאות. ואם יש לכם HSTS לא תצליחו להמשיך הלאה. ואם אתם לא מבינים מה כתבתי – פשוט תפתחו דפדפן חדש אחרי ששיניתם את קובץ ה-hosts שלכם, תכניסו את כתובת ה-URL וכך תגיעו לאתר החדש ותוכלו לעשות את הייבואץ.
ו… זהו. האתר חי וקיים. אני יכול לבצע את ההפניה!
אבל רגע! רגע! רגע! מה עם המייל? בדרך כלל ב-shared, לספק יש גם שרת SMTP שמנהל את המיילים. עברנו לאמזון? הלך השרת.
אם אנו רוצים רק משלוח של מיילים מהאתר – אז אפשר להשתמש באמזון SES שזה שירות שליחת מיילים שממש קל לקנפג אותו. אם רוצים גם לקבל מיילים זה יותר מורכב (דרמטית יותר מורכב) אבל אם אנו צריכים פתרון הוליסטי – נצטרך שרת SMTP. למשל Google Gsuite או פרוטונמייל. ואז יש גם שירותים נוספים ומוצלחים – אז זו ההמלצה שלי. במאמר אחר אני אדון על Amazon SES. אבל בינתיים – אם יש לכם שרת SMTP והאתר שלכם סובל ב-shared ויקר לכם לעבור ל-VPS מנוהל? נסו את אמזון.
שימו לב: המכונה של אמזון, אבל היא באחריות שלכם. כלומר האחריות שלכם היא ליצור גיבוי, לעדכן את גרסת ה-PHP וה-apache וגרסאות אחרות. אם זה גדול עליכם – זה לא רעיון טוב ללכת על אמזון. אם כל מה שאני כותב פה לא מפחיד אתכם או שיש לכם כבר ניסיון עם שרתים – לגמרי כדאי לנסות.
16 תגובות
בדיגיטל אוושן זה אפילו יותר פשוט 🙂
תתחדש!
אגב זה לא גם vps? אני חושב שהיקרים הם עם מעבד עצמאי לכל מכונה, הזולים (גם DO ואמאזון ועוד כמה) הם עם shared cpu
אני גם יושב על דיגיטל אושן, וזה באמת אחלה.
העלויות של VPS חזק יחסית הן באזור ה-40 דולר לחודש.
כנראה שבארץ המחירים יקרים הרבה יותר…
אכן, נראה שAWS הוא אכן VPS. ככה מתארים שם את לייטסייל –
Lightsail is an easy-to-use virtual private server (VPS) provider that offers you everything needed to build an application or website for a cost-effective, monthly plan.
AWS הוא נהדר , המון יכולות וכלים והגדרות אבל הוא יקר , בייחוד ל"אתר קטן".
השתמשתי בשרת MICRO במשך כמה שנים , מעבר לעלות השרת גובים על הדיסק של השרת , על IO בדיסק , על תעבורה וכמעט על כל פיפס (ובנוסף מע"מ , לעסקים לא משנה אבל לאנשים פרטיים זה מגדיל את כל העלות)
על שרת Micro ב AWS שילמתי בין 7-8 $ בחודש על הכל (כאשר השרת עצמו עם התחייבות ל 3 שנים עלה4$)
חיפשתי חלופות לקראת סוף ה 3 שנים , מצאתי תכנית ב OVH ב 3.5$ כולל הכל , אין חיוב נוסף על תעבורה , לא על שימוש בדיסק , הכל כלול (וללא מע"מ – לפחות בינתיים).
אמנם כסף קטן אבל עלות בעךר פי 2 וללא התחייבות בכלל.
החסרון ? פחות כלים , אין API כמעט.
שתי נקודות שחסרות לדעתי (בתור מישהו שהרים לא מזמן לראשונה אתר וורדפרס על לייטסייל):
1. TLS. המדריכים של אמזון עוזרים אם אתה רוצה להרים אבטחה דרך ה-Load Balancer שלהם. אבל במקרה של אתר קטן זה קצת חסר תועלת (לשים LB בשביל שרת אחד זה בזבוז). מצד שני להרים לבד TLS על השרת יכול להיות מסובך. וזה כמובן הכרחי לכל אתר מכובד (ובעיקר לכאלה שלא;)
2. אבטחה של וורדפרס על לייטסייל – איפה לשים ססמאות, איפה *לא* לשים ססמאות, איזה הגדרות permissions לשים על התיקיות והקבצים (נתקלתי במקורות סותרים בחיפושי גוגל), וכו'.
צריך editor ע"מ לערוך את הקובץ:
"`sudo /opt/bitnami/php/etc/php.ini"`
לנהל את הדברים שלך ידנית זה כל כך 2010….
תודה רן 🙏
אשמח אם תוכל להסביר את המשך התהליך,
איך עושים הפנייה לדומיין מהשרת של אמזון.
האמת בסוף הסתדרתי, סתם היה נראה לי מסובך…
תודה
תודה על הפוסט המוצלח.
אחסנתי את האתר שלי על lightsail עם plesk למשך כמה חודשים והייתי מרוצה מאוד מהיכולת לשלוט בכל ההיבטים של האחסון. זו הסיבה שהגעתי לשם וזה אכן סיפק את הסחורה.
הבעיה נוצרה כששדרגתי את האחסון ל80 דולר לחודש, בשביל להתמודד עם פלאגין מסוים שדרש הרבה משאבים. לצערי לא ניכר כל כך שיפור בביצועים, וכשרציתי לחזור לאחסון הקודם התברר שאי אפשר לעבור לinstance קטן יותר מגיבוי לsnapshot של הinstance הגדול. התהליך מורכב מאוד ודורש גיבוי לec2 או לs3 ואז שיחזור דרך הטרמינל של instance חדש וקטן יותר.
ניסיתי לבקש תמיכה, וגם שילמתי על תמיכת פרימיום כדי שיעזרו לי בתהליך, אבל השירות פשוט לא הגיבו במשך כמה ימים, וגם כשהגיבו לא עזרו בכלום. גוגל לא עזר, ולא מצאתי שום מדריך בעל תועלת שנתן לי אפילו כיוון איך לפתור את הבעיה הכל כך פשוטה הזו.
העברתי את האחסון להוסטינגר בתכנית אחסון ענן. זה נותן את היתרון של dedicated recorses, השירות לקוחות מצוין, והביצועים גבוהים הרבה יותר משל התוכנית שעלתה 80 דולר באמזון. לשם השוואה בהוסטינגר זה עולה 80 שח לחודש, עם גיבוי יומי וssl חינם ללא צורך בחידוש כל 90 יום.
למי שמתכנן להיות אונליין לטווח ארוך זה פתרון יותר טוב באופן חד משמעי (אם קונים לפחות מ4 שנים המחירים גבוהים יותר, אבל עדיין משתלם).
למה לא להשתמש פשוט ב-cdn כמו CloudFlare?
התוכן בבלוג לא עד כדי כך דינמי…
1. אם מישהו צריך מדריך בכדי להרים שרת על AWS, סימן שזה לא בשבילו.
ניהול שרתים זה מקצוע בפני עצמו, ועדיף להשאיר את זה למקצוענים שיודעים מה שהם עושים
2. הבעיה שלך מראש לא הייתה באכסון… הבעיה היא בקאש
צריך להחריג query strings בקאש, אחרת לינקים נכנסים (למשל מפייסבוק) עוקפים לחלוטין את הקאש, וזה מה שייצר לך עומס על השרת
3. ברגע שמותקן ומוגדר קאש תקין על השרת, רוב האתר בעצם הופך לסטטי
וכל העניין של כח עיבוד וזיכרון הופך פחות חשוב בהרבה…
זמני התגובה ומהירות התעבורה חשובים הרבה יותר
ואת זה לא תקבל באימאג' זול על AWS…
בתוכניות הזולות לרוב תקבל חומרה די ישנה
וכמעט כל תוכנית שיתופית ב4 דולר בספק עלום שם תספק לך יותר "כח" זמין
1. כדאי לשים לב שביצועי הרשת של מכונות lightsail לא גבוהים.
2. אבטחת שרת זה עסק רציני – סיכוי טוב לעשות טעות אבטחה קריטית.
3. האימג׳ים של ביטנמי הם נחמדים כברירת מחדל, אבל במיוחד במכונות קטנות lamp לא מנצל את המקסימום שאפשר – lemp או אפילו OpenLightSpeed יפיקו מ lightsail את המירב – אבל צריך להתחיל ממכונה ריקה וזה משמעותי. יותר קשה ועם סיכוי לטעויות
מאמר יפה מאוד, חידשת לי. תודה
מאמר מושקע וכתוב אחלה.
עשיתי מהלך דומה השבוע אבל לסביבת azure ושרדתי.
חייב לציין שלדעתי VPS איכותי די עומד באותה קטגוריה של אינסטנט בדיד בענן של AWS או Azure.
אולי להרחיב עם גרסה למתקדמים, גרסה שבאמת תתמוך בסקייל רחב, אולי בדמות
ריבוי קונטיינרים של וורדפס מול מכונת db ?
בכל מקרה כיף לקרא תכנים שלך ! תודה
יש חברות vps זולות מאד כמו ovh או contabo
יש חברות vps זולות מאד כמו ovh או contabo.