למה שתרצו ליצור ענן משל עצמכם מלכהתחילה?
אני באופן אישי שונא שמדריכים חופרים יותר מידי על ה-"למה". אם פתחתי את המדריך, כנראה שאני רוצה לעשות אותו אז חלאס.
בגלל זה אני אגע ממש בקטנה:
- שירותי ענן שאתם מפעילים לא עולים לכם כסף (למעט דומיין, אבל זה זול הרבה יותר).
- במרבית המקרים, מה שתקבלו משירות הענן שלכם יהיה פשוט יותר טוב ממה ששירותי ה-"פרימיום" למיניהם (Google Drive, OneDrive וכו'..) מציעים תמורת כסף.
- תמיד ניתן להרחיב את האחסון.
- מהירויות הורדה והעלאה מטורפות.
- אבטחת מידע – כל המידע שלכם שמור אצלכם. אין אותיות קטנות בחוזה, אין סכנה שימכרו פרטים שלכם, הכל מאה אחוז בשליטתכם.
- עצמאות – פרוייקט מהסוג הזה נותן תחושת מסוגלות מאוד חזקה. אחרי שעשיתם את זה, כנראה שתרצו לעשות בעצמכם עוד הרבה דברים אחרים!
המדריך בעצם ילמד איך ליצור שרת ביתי עם פלטפורמת ענן בשם Nextcloud.



למי מיועד המדריך?
המדריך מיועד למי שרוצה ליצור שרת ביתי (כלומר לא להשכיר שרת) שיהיה נגיש לו מכל מקום (כלומר פתוח לאינטרנט). הדברים שתידרשו לעשות כאן יהיו מסובכים עבור מי שמעולם לא עבד עם מערכות לינוקס. זה לא אומר שזה לא אפשרי, וזה בכלל לא אומר שלא כדאי לנסות, אבל אני באופן אישי הייתי ממליץ קודם להתנסות קצת עם לינוקס לפני שמתחילים פרוייקט מהסוג הזה. אתם רק תרוויחו 🙂
מוזמנים להסתכל על המדריך שלי להיכרות עם לינוקס.
זמן עבודה משוער: שעתיים~
תרגישו חופשי לשאול שאלות בתגובות למטה! (לא צריך להירשם)
מה צריך בשביל להתחיל?
- מחשב כלשהו שאתם לא צריכים (שעובד). הוא לא חייב להיות חזק במיוחד, אבל מומלץ לפחות 8GB של ראם, והוא צריך חיבור לאינטרנט (קווי או- WIFI).
- שם המשתמש והסיסמה של חשבון האדמין של הראוטר שלכם (על מנת לפתוח פורטים).
- דיסק און קי עם לפחות 8GB (בשביל להתקין לינוקס על השרת שלנו).
- כמה שקלים בשביל לקנות דומיין.
- כונן זיכרון כלשהו. גם זה לא חובה, אך לדעתי מומלץ. אם אתם כבר משקיעים את המאמץ בליצור שירותי ענן בשביל עצמכם, שווה להשקיע קצת באיזה כונן בשביל לקבל שטח אחסון גדול. אני באופן אישי השתמשתי בכונן 2TB הזה, אבל אני בטוח שאפשר גם למצוא אופציות זולות בהרבה. פשוט צריך משהו שהמחשב יזהה, זה הכל.
- קצת סבלנות ותושיה.
מתחילים!
הדברים שאנחנו עומדים לעשות לפי סדר:
- התקנת Ubuntu Server על המחשב.
- (אופציונלי) הצבה של כונן הזיכרון על המחשב באופן קבוע.
- הורדת כלל הרכיבים הנדרשים להפעלת הענן על המחשב.
- קינפוג של Apache ו-Nextcloud.
- פתיחת פורטים על הראוטר.
- הגדרת הדומיין לנתב תעבורה אל השרת שלנו.
- הגדרת אישורי SSL לחיבור מאובטח לדומיין (חשוב!).
- הגדרה סופית של Nextcloud וסגירת פינות.
- הסבר על שימוש ב-Nextcloud.
התקנת Ubuntu Server על מחשב השרת
כרגע כנראה מותקן על המחשב שמיועד להיות השרת שלכם Windows. אנחנו רוצים להתקין מערכת הפעלה שתתעדף את הביצועים של השרת ותאפשר לנו שליטה מהירה עליו, ולכן נתקין עליו מערכת הפעלה בשם Ubuntu Server. זו מערכת הפעלה ללא ממשק משתמש (רק טרמינל) כיוון שהיא מיועדת לרוץ על שרתים.
שימו לב שכל מה שהיה על המחשב מלפני ימחק!
הכנת הדיסק או קי
נתחיל בלהוריד את קובץ ה-ISO של המערכת מכאן. נוריד גם תוכנה בשם Balena Etcher שתאפשר לנו לשפוך את ה-ISO לתוך הדיסק או קי שלנו. נחבר את הדיסק או קי למחשב כלשהו ונפעיל את Balena Etcher.
נבחר באופציה Flash from file, ובחלון נבחר את קובץ ה-ISO שהורדנו מקודם.
נלחץ על Select Target ונבחר בדיסק און קי שלנו.
נתחיל את תהליך השפיכה ונמתין שיסתיים.
התקנת Ubuntu Server מהדיסק און קי
עכשיו נרצה להתקין את המערכת באמצעות כונן ההתקנה שיצרנו בשלב הקודם. נחבר אותו למחשב השרת (כאשר הוא כבוי), נדליק את המחשב תוך כדי שאנחנו לוחצים הרבה פעמים על F2 על מנת להיכנס למסך ה- BIOS. בכל מחשב הכפתור שמוביל ל-BIOS שונה, אז אם אתם לא יודעים מה שלכם אתם יכולים:
– לחפש באינטרנט את מודל המחשב שלכם ולבדוק
– לנסות בו זמנית את F2 F10 F12 ולראות אם משהו מהם עובד
אחרי שנכנסנו למסך ה-BIOS, נרצה לשנות את סדר ה-BOOT. זה לרוב מתבצע במסך בשם שדומה ל-Boot Options ובתוכו אופציה בשם Boot Priority. כשניכנס לסדר ההפעלה כנראה נראה שם את הדיסק און קי שלנו בתחתית הרשימה. נעלה אותו למקום הראשון ברשימה. אפשר עכשיו לשמור ולצאת ממסך ה-BIOS.
עכשיו כשהמחשב יעלה, אתם תפגשו את מסך ההתקנה של Ubuntu במקום מה שהיה על המחשב לפני.

נבחר באופציה הראשונה. נמשיך בשלבים של ההתקנה בלי לשנות כלום, נוודא כי במסך ה-"Network Configuration" אנחנו מתחברים לרשת האינטרנט שלנו. אם משתמשים ב-WIFI אז בוחרים רשת ומכניסים סיסמה, ואם מחוברים קווית בזמן ההתקנה לא צריך לשנות כלום.
אחרי זה אפשר להמשיך ופשוט ללחוץ על "Done" בכל שלב בלי לשנות כלום (אבל לתת לבדיקת ה-Mirrors להסתיים) עד שנגיע למסך הגדרת המשתמש:

כאן נמלא את השדות. server name
כדאי להכניס משהו קצר וקליט, למשל home-server. בסיסמה, תבחרו אחת חזקה! זאת הסיסמה שתשמש אותנו בהמשך על מנת להשתלט על השרת מרחוק, כך שאם תבחרו אחת חלשה, כל השרת שלכם יהיה בסכנה!
נמשיך בהליך ההתקנה עד שנגיע לשאלה בנוגע ל-SSH:

חשוב לסמן X בסעיף הראשון! SSH הינו הפרוטוקול שיאפשר לנו לשלוט בשרת מרחוק.
לאחר מיכן תראו מסך שישאל אתכם אם אתם רוצים להתקין חבילות מסוימות, אין צורך לבחור שם כלום. אולי שמתם לב שיש שם גם אופציה להתקין את Nextcloud, לא לבחור בזה! זה יעשה לנו בעיות בהמשך.

כעת המערכת אמורה להתחיל בהתקנה, ובסופה תידרשו לאחתל את השרת. לאחר שאיתחלתם, תוציאו את הדיסק און קי מהמחשב, המערכת לא תעלה אם לא תעשו את זה.
לאחר עליית המערכת תתבקשו להכניס שם משתמש, זהו האחד שהגדרתם בהתקנת המערכת (ולאחר מיכן גם הסיסמה שלו).
ברוכים הבאים ל-Ubuntu Server! לא מרשים יותר מידי כרגע, אבל אפשר לגרום לזה לעשות דברים מעולים. אבל כרגע, רוב הסיכויים שלא נוח לכם יותר מידי לעבוד על המחשב הזה, כיוון שאין ממשק משתמש יהיה לנו הרבה יותר נוח אם נוכל להשתלט על השרת מרחוק, ולעבוד מהמחשב האישי שלנו במקום ישירות בשרת. אז בואו נעשה את זה.
שליטה מרחוק – SSH
בשביל שנוכל להתחבר לשרת שלנו, נצטרך קודם כל להבין מה היא כתובת ה-IP המקומית שלו. נעשה זאת באמצעות הפקודה:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether - brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global wlp2s0
valid_lft forever preferred_lft forever
inet6 - scope global dynamic mngtmpaddr noprefixroute
valid_lft 170624sec preferred_lft 170624sec
inet6 - scope link
valid_lft forever preferred_lft forever
במקרה שלי אפשר לראות שכתובת האייפי של השרת היא 192.168.1.100
. נרשום לנו אותה בצד. אם יש לכם כמה כתובות במסך הזה ואתם לא יודעים מה נכון, אתם יכולים לרשום את כולן. רק אחת תעבוד.
עכשיו ניגש למחשב הראשי שלנו ונפתח טרמינל. בפנים נקליד את הפקודה הבאה:
ssh <user-name>@<ip-address>
כאשר אתם מחליפים את <user-name>
בשם המשתמש שיצרתם, ו את <ip-address>
בכתובת ה-IP המקומית שהשגנו.
(אם בשלב ההתקנה שכחתם לסמן X בשרת ה-SSH, לא נורא! פשוט תבצעו sudo apt install openssh-server
).
אם אתם לא מצליחים להתחבר: תריצו בשרת את הפקודה sudo systemctl start ssh && sudo systemctl enable ssh
והבעיה אמורה להיפתר.
אם הכל כשורה, אתם אמורים להיתבקש להכניס סיסמה. זו הסיסמה שהגדרתם למשתמש בהתחלה בשלב ההתקנה. כך זה נראה לאחר הכנסת הסיסמה:
ssh Yotam@192.168.1.100
Yotam@192.168.1.100's password: <Your password here>
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-63-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Fri Jul 4 08:02:24 PM UTC 2025
System load: 0.0
Usage of /: 9.5% of 465.88GB
Memory usage: 23%
Swap usage: 0%
Temperature: 56.0 C
Processes: 214
Users logged in: 0
IPv4 address for wlp2s0: 192.168.1.100
IPv6 address for wlp2s0: 2a0d:6fc2:4181:2a00:76e5:f9ff:fe69:4c68
* Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
just raised the bar for easy, resilient and secure K8s cluster deployment.
https://ubuntu.com/engage/secure-kubernetes-at-the-edge
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
12 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm
Last login: Fri Jul 4 19:55:20 2025 from 192.168.1.1
Yotam@Yotams-server:~$
זהו! אנחנו מחוברים מרחוק לשרת. כל פקודה שנכניס כאן אחרי סימן ה-$ תתבצע כאילו היינו עושים אותה מהמשתמש שלנו ישירות על השרת.
כעת לפני שנמשיך לשלב הבא, חשוב לוודא שהשרת מעודכן. נעשה זאת ונאתחל את השרת:
Yotam@Yotams-server:~$ sudo apt update && sudo apt dist-upgrade
Yotam@Yotams-server:~$ sudo reboot
השרת שלנו מעודכן ומוכן לעבודה!
הצבה של כונן הזיכרון על המחשב באופן קבוע (אם אתם משתמשים בכונן חיצוני)
אז קניתם כונן חיצוני בשביל להרחיב את האחסון ואתם רוצים שהקבצים שלכם ישמרו עליו. בשביל זה אנחנו נרצה שהשרת שלנו ידע שתמיד הכונן הזהצריך להיות נגיש לכל התוכנות שרצות על השרת. אנחנו בעצם רוצים להגדיר לשרת, שכל פעם שהוא נדלק הוא צריך לוודא שהכונן הזה נגיש לכולם. כך נעשה את זה:
נחבר את הכונן שלנו למחשב. כדאי לוודא שהכבל שאיתו אתם מחברים תומך במהירויות שמגיעות למקסימום שהכונן יכול לספק (על מנת לא ליצור צוואר בקבוק). עם קיבלתם כבל נתונים עם הכונן, עדיף להשתמש בו.
קודם כל נרצה לזהות את הכונן. לשם כך נשתמש ב:
Yotam@Yotams-server:~$ sudo fdisk -l
התוצאה שנקבל תראה פחות או יותר כך:
.
.
Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 473.89 GiB, 508831989760 bytes, 993812480 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: PSSD T5 EVO
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0xcd6e929c
.
.
יכול להיות שאצלכם יהיו עוד כניסות. זה בגלל שהפקודה מזהה את כל הכוננים שמחוברים למחשב. אנחנו רוצים לזהות את האחד שלנו. במקרה שלי, עם כונן של 2TB בשם T5 EVO, אפשר לראות שהכניסה השנייה היא המתאימה. גם בגלל כמות הזיכרון הזמינה וגם בגלל שם המודל. נרשום לעצמנו את הנתיב בתחילת הכניסה, במקרה שלי: `/dev/sda`.
עכשיו אנחנו רוצים ליצור מחיצה שתשמש אותנו בכונן. מחיצה זה בעצם דרך להגדיר "שטח" בתוך הכונן שאפשר להשתמש בו. בשביל זה אנחנו נשתמש באותו הכלי, fdisk
על הנתיב שרשמנו קודם:
Yotam@Yotams-server:~$ sudo fdisk /dev/sda
לאחר הרצת הפקודה אתם תהיו במסך הפעולה של fdisk
. כאן אנחנו יכולים לבצע פעולות (ליצור/למחוק מחיצות, במקרה שלנו).
חשוב לציין שאם יש לכם מידע על הכונן, הוא ימחק עכשיו.
קודם כל נרצה למחוק מחיצות קיימות במידה ויש. נלחץ p
ואז אנטר בשביל לראות אילו מחיצות כרגע קיימות על הכונן, במקרה שלי היו ארבעה מחיצות כמו שניתן לראות כאן:
Command (m for help): p
Disk /dev/sdb: 28.65 GiB, 30765219840 bytes, 60088320 sectors
Disk model: Dual Drive
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 67269A23-3A39-4D9A-89CB-6C9B9BBDC206
Device Start End Sectors Size Type
/dev/sdb1 64 6264707 6264644 3G Microsoft basic data <<<<<<<<<< מחיצה
/dev/sdb2 6264708 6274851 10144 5M EFI System <<<<<<<<<< מחיצה
/dev/sdb3 6274852 6275451 600 300K Microsoft basic data <<<<<<<<<< מחיצה
/dev/sdb4 6279168 60086271 53807104 25.7G Linux filesystem <<<<<<<<<< מחיצה
נרצה למחוק את כל המחיצות על הכונן. נעשה זאת בכך שנבצע פקודת d
עבור כל מחיצה על הכונן שלנו. במקרה שלי אבצע ארבע פעמים עבור מחיצות 1,2,3,4.
Command (m for help): d
Partition number (1-4, default 4): 1
Partition 1 has been deleted.
Command (m for help): d
Partition number (2-4, default 4): 2
Partition 2 has been deleted.
Command (m for help): d
Partition number (3,4, default 4): 3
Partition 3 has been deleted.
Command (m for help): d
Selected partition 4
Partition 4 has been deleted.
כעת נרצה ליצור מחיצה חדשה, שתכסה את כל השטח הקיים בכונן, נעשה זאת באמצאות n
:
Command (m for help): n
Partition number (1-248, default 1): 1
First sector (64-60088256, default 2048): <<< ללחוץ אנטר
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60088256, default 60086271): <<< ללחוץ אנטר
Created a new partition 1 of type 'Linux filesystem' and of size 1.8 TiB.
המחיצה שלנו מוכנה. אבל אנחנו עדיין צריכים להנחות את fdisk
לבצע בפועל את כל הפעולות שאמרנו לו עד כה. נעשה את זה עם פקודת w
. הכונן עכשיו נקי ממידע עם מחיצה אחת שמכסה את כולו.
עכשיו נגדיר לכונן את פורמט מערכת הקבצים שלו, אנחנו נשתמש ב-ext4
.
Yotam@Yotams-server:~$ sudo mkfs.ext4 /dev/sdb1
שימו לב שבמקרה שלי שם הכונן הוא sdb
ומספר המחיצה הוא 1
, אם אצלכם זה שונה, תוודאו שאתם מחליפים במידע הנכון.
עכשיו ניצור תיקייה שבה תכולת הכונן תיוצג ותיקייה בפנים עבור הענן שלנו:
Yotam@Yotams-server:~$ sudo mkdir -p /mnt/external_ssd
Yotam@Yotams-server:~$ sudo mkdir -p /mnt/external_ssd/nextcloud
Yotam@Yotams-server:~$ sudo mkdir -p /mnt/external_ssd/nextcloud/data
ונגדיר שתכולת הכונן צריכה להיות בתוך התיקייה שעכשיו יצרנו:
Yotam@Yotams-server:~$ sudo mount /dev/sdb1 /mnt/external_ssd
#^^^^^^^^ Remember to input your own!
לבסוף נרצה לוודא שהרשאות השימוש בכונן שמורות ל-Nextcloud, מטעמי אבטחה.
Yotam@Yotams-server:~$ sudo chown www-data:www-data /mnt/external_ssd
כמעט סיימנו עם הכונן! אנחנו רק צריכים להנחות את השרת להציב אותו כפי שעשינו בכל פעם שהשרת נדלק, כדי שהעבודה שלנו לא תלך לפח. קודם כל נשיג את המזהה של הכונן:
Yotam@Yotams-server:~$ sudo blkid /dev/sdb1
#^^^^^^^^^ Remember to input your own!
הפקודה תחזיר לנו מחרוזת בסגנון הזה: 0b81e1d8-5d10-4e3f-9a0f-8cb942bec9ce
. נשמור אותה.
נבצע את הפקודה הבאה על מנת להכניס את המזהה שרשמנו לרשימת המזהים שהשרת יציב בכל הדלקה:
Yotam@Yotams-server:~$ sudo bash -c 'echo "UUID=your-uuid-here /mnt/external_ssd ext4 defaults 0 2" >> /etc/fstab'
וזהו! הכונן מוצב ומוכן לשימוש.
הכנת השרת
הדבר הראשון שנרצה לעשות זה להוריד את Nextcloud. אנחנו עדיין לא נעשה כלום איתו, אבל נוריד אותו כבר עכשיו.
נתחבר לשרת שלנו עם SSH ונריץ את הפקודה:
Yotam@yotams-server:~$ wget https://download.nextcloud.com/server/releases/latest.zip
נוודא שהקובץ ירד:
Yotam@yotams-server:~$ ls
latest.zip #<<<<< The file we downloaded!
כעת נרצה להתקין את התוכנה שתשמש אותנו עבור מסד נתונים:
Yotam@yotams-server:~$ sudo apt install mariadb-server
אחרי ההתקנה נוודא שהתוכנה אכן רצה:
Yotam@yotams-server:~$ sudo systemctl status mariadb
כאן אתם אמורים לראות שורה בה כתוב active(running)
.
עכשיו נרצה להוסיף כמה הגדרות אבטחה למסד הנתונים שלנו. נעשה זאת באמצעות אשף התקנה של MySQL:
Yotam@yotams-server:~$ sudo mysql_secure_installation
חשוב: בהתחלה אתם תתבקשו להכניס סיסמה של root
. זו לא הסיסמה שלכם. פשוט תלחצו אנטר וזה אמור להמשיך.
לאחר מיכן בשאלה הבאה (לגבי unix socket) תבחרו לא: n
כעת תישאלו אם אתם רוצים להחליף סיסמה, תבחור כן (y) ותכניסו סיסמה חזקה.
כעת בכל שאר השאלות תענו y.
יצירת מסד נתונים
יש לנו תוכנה לניהול מסדי נתונים, אבל עדיין לא יצרנו אחד בשביל הענן שלנו. בשביל זה נבצע:
Yotam@yotams-server:~$ sudo mariadb
עכשיו אנחנו אמורים להיות בטרמינל מיוחד לביצוע פעולות על מסדי נתונים, אנו יודעים שניכנסו אליו כי שורת הפקודה נראית כך:
MariaDB [(none)]>
כעת נבצע את הפקודות הבאות אחת אחרי השנייה (תזכרו להחליף את password
בסיסמה חזקה!):
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
מעולה! סיימנו עם מסד הנתונים. אפשר לצאת מהטרמינל המיוחד בעזרת Ctrl-D
.
הגדרת Apache ו-Nextcloud
אז מה עשינו עד עכשיו?
יש לנו שרת אליו אנחנו יכולים להתחבר מרחוק, מסד נתונים שמוכן לשימוש ע"י Nextcloud, ומקום לאחסן את כל הקבצים שלנו.
עכשיו הגיע הזמן להתחיל להגדיר את הכלים העיקריים שישמשו אותנו:
- Apache – כלי ש-"יגיש" את Nextcloud לאינטרנט. אפשר לחשוב עליו כמו שכבת הנגשה, הוא מאפשר לנו לגשת לעמוד ה-Web ש-Nextcloud יוצר.
- Nextcloud – הפלטפורמה שתשמש כענן בשבילנו.
התקנת Dependencies ו-Apache
קודם כל לפני שנתחיל, נרצה לוודא שכל החבילות הרלוונטיות קיימות על השרת שלנו:
Yotam@Yotams-server:~$ sudo apt install php php-apcu php-bcmath php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-mysql php-zip php-xml apache2
אחרי שהתקנו את כל אלו, נרצה לוודא ש-Apache באמת פועל, נעשה זאת בעזרת:
Yotam@Yotams-server:~$ sudo systemctl status apache2
כאן נרצה לראות שסטטוס התוכנית הוא Active(running)
.
כעת אנחנו אמורים להצליח לגשת לדף האינטרנט הראשון שהשרת שלנו יגיש: הדף הדיפולטיבי של Apache. ניכנס לדפדפן שלנו, ונכניס את כתובת ה-IP של השרת (אם שכחתם, ip a
בשרת יציג לכם אותה). אתם אמורים לפגוש מסך כזה:

ככה אנחנו יודעים שהכל כרגע עובד כשורה.
Nextcloud
זוכרים את הקובץ שהורדנו מקודם? עכשיו נתחיל לעבוד עליו. קודם כל תוודאו שאתם נמצאים במקום בו הורדתם את הקובץ:
Yotam@yotams-server:~$ ls
latest.zip #<<<<< The file we downloaded!
על מנת לחלץ את הקובץ, נבצע את 2 הפקודות הבאות:
Yotam@yotams-server:~$ sudo apt install unzip
Yotam@yotams-server:~$ unzip latest.zip
אחרי שהפקודות יסיימו לרוץ, נוכל לראות את התיקייה שחילצנו:
Yotam@yotams-server:~$ ls
latest.zip nextcloud
#^^^^^^^^^ No need for this anymore!
Yotam@yotams-server:~$ rm latest.zip
מעולה! יש לנו עכשיו תיקייה בשם nextcloud
שכוללת כל מה שנצטרך בשביל להפעיל את הענן שלנו. עכשיו נרצה לוודא שהיחידי שיכול לבצע שינויים בתיקייה הזאת, זה המשתמש www-data
. זה המשתמש המדומה של Apache (לא נרצה שאף אחד אחר ישחק עם ההגדרות שלנו!):
Yotam@yotams-server:~$ sudo chown -R www-data:www-data nextcloud
#^ R stands for 'Recursive': Apply to all subfolders!
Yotam@yotams-server:~$ sudo mv nextcloud /var/www/
שימו לב כי גם העברנו את התיקייה לאזור המתאים לה (עם פקודת mv
).
עכשיו נבטל את העמוד הדיפולטיבי שכרגע מוצג על ידי Apache:
Yotam@yotams-server:~$ sudo a2dissite 000-default
הגדרת קונפיגורצית Nextcloud עבור Apache
עכשיו מגיע החלק הראשון בו נתחיל באמת לערוך קבצי טקסט גדולים. בגלל שאנחנו עובדים מתוך טרמינל, נצטרך עורך טקסט שפועל מהטרמינל. הפשוט ביותר הוא Nano, שאמור כבר להיות מותקן על השרת שלכם.
נריץ את הפקודה הבאה כדי ליצור את קובץ הקונפיגורציה שאנחנו צריכים:
Yotam@yotams-server:~$ sudo nano /etc/apache2/sites-available/nextcloud.conf
עכשיו יפתח לנו עורך הטקסט עבור הקובץ שרצינו. נכניס את הקונפיגורציה הבאה:
<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
<Directory "/var/www/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>
נשמור ונצא עם Ctrl-X
ואז y
.
עכשיו ננחה את Apache להתחיל להגיש את הדף שהגדרנו:
Yotam@yotams-server:~$ sudo a2ensite nextcloud.conf
עכשיו יש כמה הגדרות שנצטרך לעדכן בקובץ בשם php.ini
. נערוך את הקובץ באמצעות:
Yotam@yotams-server:~$ sudo nano /etc/php/8.3/apache2/php.ini
יש כמה ערכים שנצטרך לשנות. בשביל לעשות את החיים קלים יותר, תשתמשו ב- Ctrl-W
בתוך Nano בשביל לבצע חיפוש. תחפשו כל ערך שרשום כאן, ותעדכנו אותו:
הערות | ערך רצוי | שם הערך |
512M | memory_limit | |
200M | upload_max_filesize | |
360 | max_execution_time | |
200M | post_max_size | |
הערך כנראה יהיה מסומן בהערה, אם הערך מתחיל ב-; , תמחקו אותה! | Israel | date.timezone |
גם כאן, להוריד את ה-; בהתחלה! | 1 | opcache.enable |
גם כאן, להוריד את ה-; בהתחלה! | 16 | opcache.interned_strings_buffer |
גם כאן, להוריד את ה-; בהתחלה! | 10000 | opcache.max_accelerated_files |
גם כאן, להוריד את ה-; בהתחלה! | 128 | opcache.memory_consumption |
גם כאן, להוריד את ה-; בהתחלה! | 1 | opcache.save_comments |
גם כאן, להוריד את ה-; בהתחלה! | 1 | opcache.revalidate_freq |
אחרי שעידכנו את כל הערכים, נשמור ונצא עם Ctrl-X
ואז y
.
הדבר הבא שנעשה זה נפעיל כמה מודולים ש-Apache צריך:
Yotam@yotams-server:~$ sudo a2enmod dir env headers mime rewrite ssl
עכשיו, בשביל שכל השינויים שלנו יבואו לידי ביטוי, נטען את Apache מחדש:
Yotam@yotams-server:~$ sudo systemctl restart apache2
בדיקת שפיות: בואו נוודא שכל מה שעשינו עד עכשיו עובד כמו שצריך:
Yotam@yotams-server:~$ sudo systemctl status apache2
אם ראיתים active (running)
סימן שהכל עובד!
התקנת Nextcloud
אם עקבתם עד כאן, כל הכבוד! לא נשאר לנו עוד הרבה.
דבר קטן שצריך לבצע לפני שנמשיך (אם לא בחרתם בשימוש ב-SSD חיצוני, אין צורך לעשות את זה!):
Yotam@yotams-server:~$ sudo chown www-data:www-data /mnt/external_ssd/nextcloud
עכשיו כשניגש לכתובת ה-IP של השרת, נוכל כבר לראות מסך מגניב הרבה יותר:

זהו מסך ההתקנה של Nextcloud.
עכשיו אנחנו עומדים ליצור את המשתמש שלנו בענן. כמו שלגוגל דרייב אתם מתחברים עם חשבון הגוגל שלכם, אז לענן שלכם אתם עומדים להתחבר עם החשבון שנגדיר עכשיו.
תכניסו שם משתמש וסיסמה חזקה בשתי השורות הראשונות.
עכשיו זוכרים את הכונן החיצוני והתיקייה שיצרנו בשבילו? עכשיו אנחנו נגדיר לענן ששם הוא צריך לשמור את המידע שלו. בשורה השלישית ("Data folder"), אנחנו נגדיר: /mnt/external_ssd/nextcloud/data
. אם אתם לא משתמשים ב-SSD חיצוני כמו שהצעתי, אין צורך לעשות את זה!
עכשיו עבור Database account
אנחנו נכניס nextcloud
עבור Database password
נכניס את הסיסמה שהגדרנו כשיצרנו את מסד הנתונים.
עבור Database name
נכניס שוב nextcloud
ועבור Database host
נכניס localhost
נלחץ על Install, ואם הכל עבר כמו שצריך ההתקנה אמורה להתחיל.
המסך הבא שתפגשו יהיה:

כאן יש לכם אפשרות להתקין אפליקציות מומלצות שיהיו בענן שלכם, אני ממליץ להתקין את כולן.
וסיימנו עם ההתקנה הבסיסית של Nextcloud! אתם כנראה כרגע מסתכלים על ה-Dashboard שלכם ומתרשמים מהעבודה (הלא פשוטה בכלל!) שעשיתם עד כה. אבל לצערי, אני עדיין לא יכול לשחרר אתכם.
הענן אמנם עובד לכל דבר ועניין, אבל הוא עוד לא מאובטח וחסרות כמה הגדרות חשובות. שלא לדבר על זה שעוד אי אפשר לגשת אליו מחוץ לרשת שלכם! כלומר כרגע אתם מצליחים לגשת אליו כי אתם מחוברים לאותה הרשת שאליה השרת שלכם מחובר, אבל אם למשל תנסו לגשת דרך הטלפון שפועל על רשת סלולרית, לא תצליחו.
בשביל לפתור את הבעיות הללו, אנחנו נגדיר פורטים בראוטר, נקנה דומיין בכמה שקלים ונגדיר אותו וניצור לדומיין אישורי SSL שיפעילו פרוטוקול תקשורת מאובטח בשם https
.
קחו נשימה עמוקה ויאאלה ממשיכים.
הגדרות פורטים בראוטר
מה זה אומר "לפתוח פורט בראוטר"?
תחשבו על זה ככה, הענן שלנו משתמש בכל מיני פורטים בשביל להעביר תקשורת. כשאנחנו רוצים לגשת לענן מרחוק, אנחנו צריכים בדרך לעבור בראוטר שאליו השרת מחובר על מנת להעביר מידע לפורטים הרלוונטים.
הקטע הוא, שהראוטר שלכם כברירת מחדל יעצור אתכם מלעשות את זה, מטעמי אבטחה. אם הראוטר שלכם לא יודע שהוא אמור להעביר מידע שמגיע לפורט הזה הלאה, הוא פשוט לא יעשה את זה! וזה מה שאנחנו עושים עכשיו.
העניין עם פתיחת פורטים הוא שזה משתנה מראוטר לראוטר. הדרך לעשות את זה בכל ראוטר מעט שונה, אך הכל מאוד דומה.
זה מדריך כללי שמסביר איך עושים את זה, אבל יכול להיות שתצטרכו לחפש את מודל הראוטר שלכם באופן ספציפי.
אם אתם לא יודעים מה השם משתמש וסיסמה לראוטר שלכם, תנסו admin admin
. אם אתם לא מצליחים, צריך להתקשר לספק האינטרנט ולשאול לצערי.
הפורטים שנרצה לפתוח הם: 80
, 443
, 22
. אני מצרף פה תמונה של איך שזה נראה בראוטר שלי. שימו לב כי כתובת האייפי של היעד צריכה להיות הכתובת המקומית של השרת שלכם!

הגדרת הדומיין
הגיע הרגע אולי הכי גורלי במדריך הזה. בחירת דומיין.
זאת תהיה הכתובת שתשמש אותנו לזמן הקרוב-רחוק בשביל לגשת לענן שלנו.
יש הרבה שירותים שמוכרים דומיינים, אבל אני באופן אישי ממליץ על NameCheap בגלל שהוא פשוט לתפעול. אם אתם יכולים, תשתמשו בו כי ככה יהיה הכי קל לעקוב אחרי השלבים הבאים.
בחירת שם לדומיין
אם אתם עושים את המדריך הזה, זה אומר שאתם לא בונים ענן שמיועד לשרת לקוחות. הוא כנראה ישמש רק אתכם, ואולי משפחה וחברים. לכן אני ממליץ לא ללכת על שם זוהר, עם מילים מוכרות (כמו cloud למשל), אלא משהו קצת פחות קליט עם סיומת לא סקסית כמו .xyz במקום .com . זה בשביל שהמחיר שתקבלו עבור הדומיין יהיה נמוך.
דוגמה לדומיין טוב: davidFrid2001.xyz . אם נסתכל עליו, נראה ישר שהמחיר לשנה הראשונה זול ממש, וכנראה שגם אחריה הוא לא יעלה על 50 שקל לשנה.

הגדרת הדומיין
בשלב הזה אני יוצא מנקודת הנחה שיצרתם משתמש וקניתם דומיין שאתם אוהבים. מזל טוב! אם זו הפעם הראשונה שאתם קונים דומיין, זה כנראה מרגיש דיי מגניב. זה יהיה אפילו יותר מגניב כשהדומיין שלכם גם יעשה משהו 🙂 אז בואו נתחיל.
קודם כל נרצה לבדוק מה היא כתובת ה-IP הפומבית של השרת. זו הכתובת שחשופה לעולם:
Yotam@yotams-server:~$ curl ipinfo.io/ip
הפקודה הזו תציג לכם את כתובת האייפי הפומבית, תשמרו אותה איפשהו.
עכשיו ניכנס למסך המשתמש שלנו ב-Namecheap ונלחץ על ניהול הדומיין שקנינו. נבחר בקטגוריה Advanced DNS.
בפנים, נרצה ליצור משהו שנקרא A Record. בעצם נגדיר לדומיין לאיזה IP הוא צריך להפנות כשמשהו פונה אליו.
תחת "Host Records" נבחר "Add new record" ובסוג נבחר "A Record".
עבור "Host", נגדיר פשוט שטרודל (@), ועבור "Value" נגדיר את כתובת ה-IP שקיבלנו מהפקודה הקודמת. ב- "TTL" אפשר להשאיר על Automatic. נלחץ על כפתור ה-וי מימין ונאשר את ה-Record. צריך להיראות פחות או יותר כך:

בשלב הזה אני ממליץ לחכות 10 דקות לפני שממשיכים. לשירותי ה-DNS לרוב לוקח קצת זמן לעבד את הבקשה שלכם, והשלבים הבאים פשוט לא יעבדו אם היא לא התקבלה.
עכשיו נצטרך להגדיר ל-Nextcloud שחיבורים שמגיעים מהדומיין הזה הם בטוחים, ואפשר לקבל אותם (בעצם שאנחנו סומכים על הדומיין הזה).
נערוך את קובץ ההגדרות של Nextcloud:
Yotam@yotams-server:~$ sudo nano /var/www/nextcloud/config/config.php
ותחת trusted_domains
, נחליף את localhost
בדומיין שלנו. הקובץ צריך בעצם להיראות ככה:
<?php
$CONFIG = array (
'instanceid' => '-----',
'passwordsalt' => '----',
'secret' => '-----',
'trusted_domains' =>
array (
0 => 'your-domain-here', <<<<<<<<<<<<<< We added this!
),
'datadirectory' => '/mnt/external_ssd/nextcloud/data',
'dbtype' => 'mysql',
'version' => '31.0.6.2',
'overwrite.cli.url' => 'http://localhost',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '---',
'installed' => true,
);
הדבר הבא שנעשה זה נשנה כמה הגדרות בשרת שלנו בשביל להשתמש בדומיין:
Yotam@yotams-server:~$ sudo nano /etc/hostname
ובפנים נחליף את השורה הראשונה פשוט בשם הדומיין שלנו.
אחרי זה באופן דומה:
Yotam@yotams-server:~$ sudo nano /etc/hosts
כאן נוסיף שורה מתחת לשורה עם 127.0.0.1 localhost
ונכתוב:
127.0.1.1 <your-domain-name>
עכשיו נוסיף את הדומיין ל-Apache:
Yotam@yotams-server:~$ sudo nano /etc/apache2/sites-available/nextcloud.conf
ישירות מתחת ל- DocumentRoot
בשורה השנייה, נוסיף:
ServerName <your-domain-name>
נשמור ונצא, ואחרי זה נאתחל את השרת:
Yotam@yotams-server:~$ sudo reboot
אחרי כמה דקות שהשרת עלה, אתם אמורים להיות יכולים לגשת אליו דרך הדומיין שלכם! תפתחו את הדפדפן ותרשמו את הדומיין, אם הכל כשורה, אתם תראו את הענן שלכם! מעכשיו, אין צורך לרשום את כתובת ה-IP כשמנסים להשתלט על השרת מרחוק. אפשר להשתמש בדומיין!
ssh <user-name>@your-domain-name
הדבר הבא שנעשה זה נגדיר אישורי SSL עבור הדומיין שלכם מטעמי אבטחה.
הגדרת אישורי SSL לדומיין
קודם כל נבצע את הפקודות הבאות:
Yotam@yotams-server:~$ sudo apt install snapd
Yotam@yotams-server:~$ sudo snap install core; sudo snap refresh core
Yotam@yotams-server:~$ sudo snap install --classic certbot
Yotam@yotams-server:~$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Yotam@yotams-server:~$ sudo certbot --apache
עכשיו אתם אמורים לפגוש את מסך ההתקנה של Certbot. בהתחלה נכניס את האימייל שלנו, ואחרי זה נבחר Y ומיד אחרי n.
אם עד עכשיו הכל התבצע כמו שצריך, Certbot אמור להציע לכם לרשום את הדומיין שלכם. אתם אמורים ממש לראות בטרמינל משהו בסגנון של:
-----------------------------------------------
1: <your-domain-name>
-----------------------------------------------
תבחרו 1 בשביל לרשום אישורים עבור הדומיין.
וזהו! אם תיכנסו לדומיין שלכם שוב פעם דרך הדפדפן, תוכלו לראות בשורת הכתובת שהפעם אתם מחוברים עם https
, ולא http
. החיבור שלנו מאובטח 🙂 נשאר לנו עוד ממממש קצת וסיימנו.
הגדרת Nextcloud מבפנים וסגירת פינות
השרת שלנו עובד נהדר, ויש לנו ענן מתפקד! אבל אם נלחץ על סמל המשתמש שלנו (חץ ירוק בתמונה) ב-Nextcloud ואז- Administration Settings, נראה שיש לא מעט אזהרות:

חלק מהאזהרות כאן לא רלוונטיות אלינו, ולפתור אותן זה לא בגדר מה שאפשרי במדריך הזה, אבל כן נפתור חלק נכבד מהן. השאר לא משנות יותר מידי.
שימו לב שהאזהרה האדומה מדברת על ניהול שיחות וידאו בענן שלכם, והיא אחת מאלה שלא נפתור. פשוט תדעו ששיחות ווידאו לא כדאי לקיים דרך הענן כי הן אולי יהיו קצת איטיות, אבל זה הכל.
הדבר הראשון שנעשה זה:
Yotam@yotams-server:~$ sudo chmod 660 /var/www/nextcloud/config/config.php
Yotam@yotams-server:~$ sudo chown root:www-data /var/www/nextcloud/config/config.php
ככה אנחנו בעצם מגבילים הרשאות עריכה והצגה לקובץ ההגדרות של הענן, שהוא קובץ מאוד קריטי.
עכשיו נוסיף כמה דברים לקובץ ההגדרות:
Yotam@yotams-server:~$ sudo nano /var/www/nextcloud/config/config.php
ובפנים נוסיף שני שדות נוספים בסוף:
'memcache.local' => '\\OC\\Memcache\\APCu',
'default_phone_region' => 'IL',
כלומר כרגע הקובץ נראה כך:
<?php
$CONFIG = array (
'instanceid' => '-----',
'passwordsalt' => '----',
'secret' => '-----',
'trusted_domains' =>
array (
0 => 'your-domain-here',
),
'datadirectory' => '/mnt/external_ssh/nextcloud/data',
'dbtype' => 'mysql',
'version' => '31.0.6.2',
'overwrite.cli.url' => 'http://localhost',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '---',
'installed' => true,
'memcache.local' => '\\OC\\Memcache\\APCu',
'default_phone_region' => 'IL',
);
.
.
.
נשמור, נצא, ונבצע את הפקודה הבאה:
Yotam@yotams-server:~$ sudo apt install libmagickcore-6.q16-6-extra
עכשיו נערוך את הקובץ הבא:
Yotam@yotams-server:~$ sudo nano /etc/apache2/sites-available/nextcloud-le-ssl.conf
ובפנים נוסיף אחרי ServerName
את זה:
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
הקובץ עכשיו אמור להיראות כך אצלכם:
<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName <your-domain-name>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
.
.
.
עכשיו נבצע את הפקודה הבאה:
Yotam@yotams-server:~$ sudo chmod +x /var/www/nextcloud/occ
אחרי זה נערוך את הקובץ הבא:
Yotam@yotams-server:~$ sudo nano /etc/php/8.3/mods-available/apcu.ini
ונוסיף את השורה הבאה בסוף הקובץ:
apc.enable_cli=1
נשמור,נצא, ונבצע את הפקודה:
Yotam@yotams-server:~$ sudo /var/www/nextcloud/occ db:add-missing-indices
נאתחל את Apache:
Yotam@yotams-server:~$ sudo systemctl restart apache2
ואחרי זה, סיימנו. כל האזהרות שעדיין מופיעות, לא מעניינות אף אחד.
עכשיו יש לכם שרת משלכם, שרץ על דומיין ששייך לכם, ונותן לכם גישה לשירותי ענן יותר טובים מרוב מה שנמצא בשוק. בפרק האחרון אני מראה קצת על מה אפשר לעשות עם Nextcloud ואיך משתמשים בו.
קוצרים את הפירות – מה אפשר לעשות עם Nextcloud
אוקיי, הענן שלנו רץ ואפשר לגשת אליו. אבל מה עכשיו?
באמת, השמיים הם הגבול! יש הרבה דברים שאפשר לעשות, אני אראה פה כמה.
קבצים
כנראה ששמתם לב שב-Dashboard יש חלונית בשם "Files". שם אתם יכולים להעלות כמה קבצים שתרצו (בהתאם למקום על הכונן שלכם), ולגשת אליהם מכל מקום בעולם!
אבל להעלות ולהוריד דרך האתר זה לא כיף, אנחנו רוצים שזה יהיה ישירות מהמחשב. בשביל זה צריך להוריד את הקליינט של Nextcloud. אל תדאגו, זה פשוט פי מיליון ממה שעשינו עד עכשיו.
נכנסים לכאן ומורידים את הקליינט של Files.
לאחר שנתקין ונפתח את מה שהורדנו, נצטרך להכניס את הדומיין שלנו, ואחרי זה את שם המשתמש והסיסמה של חשבון ה-Nextcloud שיצרנו.
וזהו! הקליינט כנראה ישאל אתכם איזה תיקיות אתם רוצים לסנכרן, ומאותו הרגע הן יהיו זמינות לכם בתיקיה בשם Nextcloud על המחשב שלכם. כל שינוי שתעשו בה, ישתקף ישר בענן.
באופן דומה, יש גם אפליקצית Nextcloud. אפשר להוריד אותה ולהתחבר באותו האופן, ואז הקבצים זמינים גם בטלפון!
משתמשים
אחד הדברים היפים ב-Nextcloud, זה שהוא לא מוגבל רק לכם. אתם יכולים לחלק אחסון למי שתרצו! רק צריך לפתוח משתמש.
בשביל לפתוח משתמש נלחץ על השם שלנו למעלה בצד ימין של ה-Dashboard, ונבחר ב-Accounts.
במסך שיפתח נגדיר את שם המשתמש, שם התצוגה, המייל (לא חייב להיות אמיתי, אין לזה משמעות), סיסמה, וה-Quota (בעצם כמה שטח אחסון יהיה למשתמש). נעביר את הפרטים של המשתמש ואת הדומיין למי יצרנו בשבילו, ועכשיו גם הוא/היא יכולים להנות מהעבודה הקשה שלכם בלי שהם תרמו אפילו קצת!
שיחות
אם שמתם לב, למעלה יש לשונית בשם "Talk". זו היא פלטפורמת השיחות של Nextcloud. אתם יכולים לחשוב על זה בדיוק כמו על זום, רק שלכם. זה אומר כמובן שאין הגבלת זמן על שיחות.
אתם יכולים ליצור עם זה שיחות ולשתף אותן לאנשים, הם יכולו להיצטרף גם בלי להירשם. שימו לב ששיחות הן דבר כבד, שיחות ווידאו כנראה לא יעבדו טוב בכלל, וגם שיחות רגילות לא מומלצות ליותר משלושה אנשים (אלא אם כן השרת שלכם מפלצת ואני לא יודע).
בונוס – הגדרת DDNS לדומיין
אם ביצעתם את כל השלבים עד כה, לא אמורות להיות לכם בעיות בענן. אבל יש בעיה אחת שכן עשויה לצוץ בהמשך, ואם לא תדעו עליה היא עלולה להיות מתסכלת.
זוכרים שהגדרנו Records עבור ספק הדומיין שלנו? מה שבעצם הנחה את הספק להפנות את הפונים לדומיין אל ה-IP של השרת שלנו. אז יש בעיה קטנה: ה-IP של השרת עלול להשתנות.
ה-IP של השרת מסופק על ידי ספק האינטרנט, ואלא אם כן אתם משלמים לספק שלכם עבור כתובת IP סטטית (זה כנראה לא המצב), היא יכולה להשתנות בכל שלב. במצב כזה, זה יראה לכם כאילו הענן שלכם לגמרי הפסיק לעבוד. לא תוכלו לפתוח אותו מהדומיין, ולא תצליחו להשתלט עליו מרחוק באמצעות SSH דרך הדומיין. הדומיין שלכם בעצם מפנה עכשיו לכתובת IP ישנה שלא רלוונטית אליכם יותר.
אז מה עושים? החדשות הטובות הן שלא צריך לשלם לאף אחד, אפשר להשתמש בקסם שהוא DDNS (Dynamic DNS).
אם תלכו להגדרות ה-DNS ב-NameCheap ותרדו למטה, תראו את האופציה הזו:

מימין ל-"Status" נפעיל את המתג לצד ימין, ואז תיווצר לנו סיסמה (שבתמונה מוסתרת במלבן אדום).
הדבר הבא שנצטרך לעשות, הוא להתקין תוכנה שתרוץ ברקע על השרת שלנו, ותבדוק כל הזמן עם כתובת ה-IP של השרת השתנתה. אם כך המצב, היא תפנה בעצמה ל-NameCheap ותבקש לשנות את ה-Records על מנת שיתאמו את הכתובת החדשה.
נתקין את התוכנה בשם ddclient כך:
sudo apt install ddclient
ומיד לאחר מיכן נערוך את קובץ ההגדרות של התוכנה:
sudo nano /etc/ddclient.conf
נכניס את ההגדרות הבאות:
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=namecheap
use=web, web=checkip.dyndns.com
server=dynamicdns.park-your-domain.com
login=<Your-Domain-Here.com>
password='<Your-Password-here>'
@
שימו לב שאתם מחליפים את <Your-Domain-Here.com>
בכתובת הדומיין שלכם, ואת <Your-Password-Here>
בסיסמה שהשגתם ממסך ה-DDNS של NameCheap. לא להחליף שום דבר אחר!
השורה האחרונה בהגדרות (@) היא ה-Records שאתם רוצים ש-ddclient יעדכן. אם עבדתם רק לפי המדריך ולא שיניתם כלום, להכניס בשורה האחרונה @ זה מספיק. אם הוספתם סאב-דומיינים כלשהם, תצטרכו להכניס אותם שם כדי ש-ddclient יעדכן אותם. למשל: @,photos,vpn
.
נוודא ש- ddclient רץ:
sudo systemctl restart ddclient
sudo systemctl enable ddclient
sudo systemctl status ddclient
אחרי הפקודה האחרונה נרצה לוודא שאכן רשום Running.
וזהו, תהנו!
מקווה שהמדריך היה מובן, כמובן שמוזמנים לשאול פה שאלות בתגובות (לא צריך להירשם או להכניס מייל) ואני אשתדל לענות לכולם. אם הצלחתם לעשות את מה שעשינו כאן, השמיים הם הגבול בשבילכם עכשיו. השרת שלכם לא חייב להריץ רק Nextcloud, הוא באמת יכול לעשות מה שתרצו! (למשל, הבלוג הזה רץ על אותו השרת של ה-Nextcloud שלי 🙂 )
תודה רבה שקראתם!