Anonim

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

אחסון בענן מגיע עם חסרון אחד גדול. אתה צריך לסמוך על חברה כלשהי עם כל הקבצים האישיים שלך. מה קורה אם הם נפרצים? האם הם באמת כל כך אמינים, או שהם עוברים את הדברים שלך כשאתה לא מסתכל? לא באמת ניתן לדעת בוודאות.

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

מדריך זה הולך להתמקד באירוח Nextcloud ב VPS (שרת וירטואלי פרטי), אך אתה יכול גם להפעיל אותו באופן מקומי ברשת הביתית שלך. רק אל תצפו לגשת אליו מבחוץ אלא אם תגדירו העברת יציאה או שתפעילו VPN. חלק מהצעדים יהיו מעט שונים ולא תצטרכו לקנות שם דומיין או להגדיר תעודות SSL.

בחר מארח

קישורים מהירים

  • בחר מארח
  • התקן את מה שאתה צריך
  • הגדר את חומת האש שלך
  • קבע את התצורה של SSH
    • מפתחות SSH
      • חלונות
      • מק ו- Linux
    • בטל את השורש והסיסמאות
  • הגדר את מסד הנתונים שלך
  • קבע את התצורה של PHP
  • קבל את Nextcloud
  • צור אישורי SSL
  • קבע את התצורה של Nginx
  • התחל את Nextcloud

בהנחה שאתה הולך עם פתרון ענן אמיתי ורוצה שהקבצים שלך יהיו נגישים באינטרנט, עליך להגדיר VPS שיארח את Nextcloud עליו. יש כמה אפשרויות נהדרות שם, אז בחר את מה שנראה הכי טוב עבורך. בדוק את Linode, DigitalOcean וגנדי, אם אין לך מארח בראש.

מדריך זה עומד להשתמש ב- Debian 9 "מתיחה" כמערכת ההפעלה של השרת. דביאן הוא סופר יציב ובטוח למדי כברירת מחדל. זה גם נתמך היטב על ידי רוב פלטפורמות האירוח. אם אתה מרגיש יותר בנוח עם אובונטו, רוב זה יחול ישירות גם שם, מכיוון שאובונטו מבוססת על דביאן.

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

הכל כאן יטופל מרחוק משורת הפקודה של לינוקס. לכן, אם אתם ב- Mac או Linux, תוכלו פשוט לפתוח מסוף ולהשתמש ב- SSH כדי לגשת ל- VPS. אם אתה נמצא ב- Windows, תפוס לקוח SSH כמו PuTTY .

התקן את מה שאתה צריך

יש הרבה חלקים לפאזל הזה. אתה יכול באותה מידה לתפוס את כולם עכשיו, כך שיש לך את מה שאתה צריך כדי להמשיך מכאן. לדביאן בדרך כלל לא הותקן sudo כברירת מחדל, אז תפוס את זה קודם והגדר אותו.

$ su -c 'apt install sudo'

הזן את סיסמת השורש שלך וסודו יותקן. לאחר מכן, עליך להוסיף את המשתמש שלך לקבוצת הסודו.

$ su -c 'gpasswd - שם משתמש sudo'

עכשיו אתה יכול להשתמש בסודו. יתכן שתצטרך להיכנס שוב, אם זה לא יעבוד מייד. מנקודה זו ואילך, תשתמש במקום זאת ב sudo, במיוחד מכיוון שאתה מתכוון להשבית כניסות שורש למטרות אבטחה.

עכשיו, תפוס את הכל מהמאגרים של דביאן.

$ sudo apt להתקין ufw mariadb-server nginx certbot php php-mysql php-fpm php-cli php-json php-curl php-imap php-gd php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

הגדר את חומת האש שלך

השרת שלך נמצא באינטרנט. אין דרך לעקוף את זה, וזה אומר שאתה תצטרך להתמודד עם תוקפים. הגדרת חומת אש פשוטה תעזור למנוע הרבה איומים פוטנציאליים.

במקום להשתמש ישירות ב- iptables, תוכלו להשתמש ב- UFW (חומת אש לא מסובכת) כדי לאבטח את המערכת שלכם. יש לו תחביר פשוט יותר, והרבה יותר קל לעבוד איתו.

התחל על ידי השבתת כל מה שבחומת האש. זה יגדיר את מדיניות ברירת המחדל שתכחיש חיבורים לכל השירותים והנמלים, ותבטיח שתוקפים לא יוכלו להתחבר ביציאה שנשכחה.

ברירת מחדל של $ sudo ufw דוחה את נכנסות

ברירת המחדל של $ sudo ufw דוחה את היציאה $ sudo ufw ברירת המחדל דוחה קדימה

בשלב הבא אתה יכול להגיד ל- fw את השירותים שאתה רוצה שיאפשרו להם. במקרה זה, אתה זקוק רק ל- SSH וגישה לאינטרנט. אתה גם רוצה לאפשר NTP ו- DNS כך שהשרת שלך יוכל להביא עדכונים ולהגדיר את השעון שלו.

$ sudo ufw לאפשר ב- ssh $ sudo ufw אפשר החוצה ssh $ sudo ufw אפשר ב- http $ sudo ufw הרשה http $ sudo ufw אפשר ב- https $ sudo ufw הרשה https $ sudo ufw מאפשר ב- ntp $ sudo ufw מאפשר החוצה ntp $ sudo ufw לאפשר ב 53 $ sudo ufw לאפשר 53 $ sudo ufw לאפשר ב 67 $ sudo ufw allow out 67

אתה יכול להפעיל את חומת האש שלך עכשיו. זה ייתן לך אזהרה על שיבוש SSH, אבל כבר אפשרת SSH, אז אתה תהיה בסדר.

הפעל $ sudo ufw

קבע את התצורה של SSH

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

מפתחות SSH

ראשית, עליך להגדיר חלופה הרבה יותר בטוחה לסיסמא, מפתח SSH. התהליך שונה ב- Windows מאשר ב- Mac ו- Linux, לכן עקוב אחר ההוראות שמתאימות לשולחן העבודה שלך.

חלונות

כמו בדרך Windows, אתה זקוק לתוכנית נוספת שתשלים משימה פשוטה זו. PuTTYgen הוא מחולל מפתחות RSA עבור PuTTY. זה זמין מדף ההורדה של PuTTY . הורד אותו והפעל אותו.

בחלון שנפתח, שם למפתח שלך וצור לו סיסמה. זו הסיסמה שתשתמש בה כדי להתחבר לשרת. בתחתית, בחר SSH-2 RSA והגדר גודל מפתח של לפחות 2048 ביט. 4096 עדיף, אבל 2048 יהיה מעט מהיר יותר. לאחר מכן, צור את המפתחות שלך ושמור את המפתחות הציבוריים והפרטיים כאחד. לבסוף, העתק את המפתח הציבורי שמוצג בראש החלון.

השתמש ב- PuTTY כדי להתחבר לשרת שלך. פתח קובץ ב ~ / .ssh / Author_keys והדבק את המפתח שלך.

בחזרה ב- PuTTY, מצא SSH בתפריט הצדדי. לאחר מכן, פתח את "Auth." בשדה עבור מקש הציר, דפדף למיקום של המפתח הפרטי ששמרת זה עתה. כאשר כל מה שקובץ PuTTY מוגדר לשרת שלך, שמור את ההפעלה. בדוק זאת כדי לוודא שאתה מתחבר למפתח שלך לפני שתמשיך הלאה.

מק ו- Linux

למשתמשי מקינטוש ולינוקס יש כאן דרך הרבה יותר קלה. התחל ביצירת מפתח SSH, אם אין לך כבר מפתח. יש לך אפשרות ליצור סיסמה למפתח. זה לא חובה, כך שזו השיחה שלך.

$ ssh-keygen -b 4096-t rsa

כעת, פשוט שלחו את המפתח לשרת. החלף את שם המשתמש שלך ואת ה- IP של השרת.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub

זהו זה!

בטל את השורש והסיסמאות

לאחר הגדרת המפתח שלך, אתה יכול להשבית סיסמאות ל- SSH. אל תדאג אם תגדיר מפתח עם סיסמה. זה משהו שונה, וזה לא ישפיע על זה בכלל. פתח את קובץ התצורה של SSH ב- / etc / ssh / sshd_config.

$ sudo ננו / etc / ssh / sshd_config

מצא את השורה שקוראת:

#PermitRoot התחבר לאיסור סיסמא

שנה אותו ל:

PermitRoot התחברות מספר

הבא, מצא את שתי השורות:

#Password אימות כן #PermitEmptyPasswords לא

שנה אותם ל:

אימות סיסמא אין אישור ריק סיסמאות לא

לבסוף, מצא:

UsePAM כן

הפוך את זה:

UsePAM לא

שמור את הקובץ שלך וסגור אותו. לאחר מכן, הפעל מחדש את SSH. זה עשוי לבעוט אותך, אז התחבר מחדש אם זה יקרה.

הפעל מחדש sshd של $ sudo systemctl

הגדר את מסד הנתונים שלך

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

יש למעשה תסריט נוח להגדרה ולאבטחת MariaDB עבורך. תריץ אותו קודם.

$ sudo mysql_secure_installation

סיסמת השורש המוגדרת כברירת מחדל ריקה, כך שהיא "הזן" כששואלים אותה. לאחר מכן הוא יבקש מכם להגדיר סיסמת שורש. לעשות את זה. ענה "כן" על כל שאלה הבאה.

אתה יכול להיכנס למסד הנתונים שלך באמצעות סיסמת השורש שרק הגדרת.

$ sudo mysql -u root -p

הפקודה תשתנה ל- MariaDB. זוהי המסוף לניהול שרת מסד הנתונים שלך. התחל ביצירת בסיס נתונים חדש. היוון סופר כאן.

צור תאריך הבא.

לאחר מכן, צור משתמש למסד נתונים זה.

צור משתמש `nextcloud` @` localhost` המזוהה על ידי 'PasswordForUser';

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

הענק כולם ב- nextcloud. * ל `nextcloud` @` localhost`;

זהו זה! אתה יכול לצאת משרת מסד הנתונים עכשיו.

ש

קבע את התצורה של PHP

Nextcloud כתוב ב- PHP. התקנת כבר את הגירסה האחרונה של PHP הזמינה ב- Debian Stretch יחד עם תוספי PHP ש- Nextcloud זקוקה כדי לתפקד נכון. אתה עדיין צריך לבצע כמה ציוצים לתצורת PHP שלך כדי שזה יעבוד ביתר קלות עם Nginx.

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

פתח /etc/php/7.0/fpm/php.ini עם sudo ועורך הטקסט המועדף עליך.

הקובץ הוא מסיבי, אז השתמש בפונקציית החיפוש של העורך שלך כדי לנווט סביב. אם השתמשת בננו, זה Ctrl + W. אפשרות האגרוף שעליך למצוא היא disable_functions. הוסף הוסף phpinfo, מערכת, דואר, exec, בסופו.

ואז, מצא את sql.safe_mode והפעל אותו. בשלב הבא, כבה את allow_url_fopen. בסוף הקובץ, הוסף את השורה הבאה, שמור וסגור אותה.

register_globals = כבוי

קבל את Nextcloud

Nextcloud עדיין לא זמין כחבילה עבור דביאן, וזה בסדר. אתה באמת לא צריך שזה יהיה. זה דומה לאפליקציות PHP אחרות שנבנו מראש, כמו WordPress, והוא מגיע בארכיון דחוס שתוכל לחלץ איפה שתרצה להתקין את Nextcloud.

נכון לרגע זה, המהדורה היציבה האחרונה היא Nextcloud, בדוק שוב מה הגירסה האחרונה עבורך כשאתה קורא את זה. המדריך יתייחס ל 12, אך השתמש בכל היציבה האחרונה.

שנה לספרייה בה ברצונך להוריד את הארכיון של Nextcloud. לאחר מכן, השתנה ל- / var / www כדי לחלץ אותו.

$ cd ~ / מוריד $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2 $ cd / var / www $ sudo tar xjpf ~ / הורדות / nextcloud-12.0.3. tar.bz2

אם אתה קורא זאת בעתיד, תוכל למצוא את קישור ההורדה בדף ההתקנה של השרת של Nextcloud.

לבסוף, שנה את הבעלות על התקנת Nextcloud שלך ל- www-data.

$ Sudo chown -R www-data: www-data / var / www / nextcloud

צור אישורי SSL

יצירת אישורי SSL שלך קלה מאוד בזכות Certbot. Certbot תייצר עבורך באופן אוטומטי את כתבי ה- SSL שלך ותציב אותם בשורש האינטרנט של כל האתר שאתה יוצר עבורו. אתה צריך רק להפעיל פקודה יחידה.

$ sudo certbot באישור - וובר-w / var / www / nextcloud -d your-domain.com -d www.your-domain.com

מכיוון שזו הפעם הראשונה שאתה מפעיל את Certbot, היא תבקש כתובת דוא"ל. הוא ישתמש בכתובת זו כדי להזהיר אותך כאשר התוקף שלך עומד לפוג. אתה יכול לחדש אותם בקלות גם עם פקודה יחידה.

$ סודו certbot לחדש

קבע את התצורה של Nginx

Nginx הוא שרת אינטרנט קל ועם זאת עוצמתי. זה ישרת את הממשק שבו אתה משתמש כדי לגשת ל- Nextcloud. ישנם כמה קבצי תצורה המשויכים ל- Nginx. הראשון הוא התצורה העיקרית הממוקמת ב / etc/nginx/nginx.conf. זהו קובץ התצורה הראשי, אך יש לו ברירות מחדל מוצקות. אתה יכול לשחק עם זה אם אתה יודע מה אתה עושה, אבל אתה יכול להשאיר את זה לבד וגם להיות בסדר.

התצורה הבאה ארוכה ומורכבת בהרבה. למרבה המזל, אינך צריך לכתוב את הכל. אנשי ה- Nextcloud כבר עשו. אתה רק צריך לשנות את זה. קובץ התצורה ממוקם באתר של Nextcloud . תפוס את זה עבור אתר האינטרנט של נגינקס. צור קובץ חדש ב- / etc / nginx / sites-available / nextcloud והדבק אותו.

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

זרם php-handler {שרת יוניקס: /run/php/php7.0-fpm.sock; }

ואז, מצא בכל מקום שכתוב עליו cloud.example.com ושנה אותו לשם הדומיין שלך.

הדבר האחרון שעליך לעשות הוא להפנות את Nginx לכתבי ה- SSL שלך. שנה את השורות:

ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

ל:

ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

זהו זה! בשלב הבא עליכם לקשר אותו כך ש- Nginx תוכל למצוא אותו.

$ cd / וכו '/ nginx / מופעל באתרים $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud

הסר את ברירת המחדל הקיימת שנמצאת שם.

ברירת מחדל של $ sudo rm

הפעל מחדש את PHP ו- Nginx ותוכלו לגשת ל- Nextcloud!

$ sudo systemctl הפעל מחדש php7.0-fpm $ sudo systemctl הפעל מחדש nginx

התחל את Nextcloud

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

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

זהו זה! כעת יש לך ענן פרטי משלך!

צור ענן פרטי משלך באמצעות Nextcloud