مقدمه
OwnCloud یک پلتفرم متنباز برای همگامسازی و اشتراکگذاری فایلهاست که به شما کنترل کامل روی دادههایتان میدهد. برخلاف سرویسهایی مثل Google Drive یا Dropbox، در OwnCloud همه چیز روی سرور خودتان اجرا میشود. یعنی:
-
حریم خصوصی واقعی
-
کنترل کامل روی محل ذخیره دادهها
-
امکان سفارشیسازی کامل سیستم ذخیرهسازی فایل
در این راهنمای آموزشی از شرکت دیدگاه، بهصورت مرحلهبهمرحله یاد میگیرید چطور OwnCloud را روی Ubuntu با استفاده از Apache، MySQL و PHP نصب و ایمنسازی کنید و یک سیستم آماده استفاده در محیط واقعی (Production) داشته باشید.
چرا Self-Hosting با OwnCloud انتخاب هوشمندانهای است؟
با نصب OwnCloud روی سرور خودتان:
-
محل ذخیره فایلها را خودتان تعیین میکنید
-
دسترسی کاربران کاملاً تحت کنترل شماست
-
قوانین اشتراکگذاری را خودتان تعریف میکنید
-
برای سازمانها با نیاز به حاکمیت داده (Data Sovereignty) و نگهداری داخلی اطلاعات بسیار مناسب است
این ساختار مخصوص تیمهایی است که به موارد زیر نیاز دارند:
-
نگهداری داده در موقعیت جغرافیایی مشخص
-
سیاستهای خاص نگهداری و حذف اطلاعات
-
یکپارچگی با زیرساخت داخلی سازمان
معماری کلی سیستم
در این راهاندازی، اجزا به شکل زیر با هم کار میکنند:
| بخش | وظیفه |
|---|---|
| Apache | ارائه رابط وب OwnCloud و مدیریت درخواستهای HTTP/HTTPS |
| PHP (mod_php) | اجرای منطق برنامه OwnCloud |
| MySQL / MariaDB | ذخیره متادیتا، کاربران، اطلاعات اشتراکگذاری |
| Filesystem | محل ذخیره واقعی فایلهای کاربران |
| HTTPS (TLS) | رمزنگاری ورود کاربران و انتقال فایلها |
این تفکیک باعث میشود سیستم بهراحتی قابل توسعه، بکاپگیری و عیبیابی باشد.
پیشنیازها
قبل از نصب OwnCloud، این موارد را آماده داشته باشید:
-
سرور Ubuntu 22.04 یا بالاتر
-
دسترسی root یا sudo
-
دامنهای که به IP سرور شما اشاره کند (برای SSL)
-
حداقل 2GB RAM و 20GB فضای خالی دیسک
-
نصب بودن LAMP Stack:
-
Apache
-
MySQL
-
PHP
-
نکته: OwnCloud به PHP 7.4 نیاز دارد.
نصب پیشنیازهای PHP
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y libapache2-mod-php7.4 php7.4-gd php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php7.4-curl php7.4-mysql unzipبررسی ماژولها:
php -m | grep -E 'gd|zip|intl|xml|mbstring|curl|mysql'ساخت دیتابیس OwnCloud
sudo mysql -u root -pداخل MySQL:
CREATE DATABASE owncloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;دانلود و نصب OwnCloud
cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.zip
unzip owncloud-complete-latest.zip
sudo mv owncloud /var/www/تنظیم دسترسیها:
sudo chown -R www-data:www-data /var/www/owncloud
sudo chmod -R 755 /var/www/owncloud
sudo mkdir -p /var/www/owncloud/data
sudo chown -R www-data:www-data /var/www/owncloud/data
sudo chmod 750 /var/www/owncloud/dataتنظیم Apache Virtual Host
sudo nano /etc/apache2/sites-available/owncloud.confمحتوا:
<VirtualHost *:80>
ServerName your_domain.com
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>فعالسازی:
sudo a2enmod rewrite headers env dir mime
sudo a2ensite owncloud.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2تکمیل نصب از طریق مرورگر
مرورگر را باز کنید:
http://your_domain.comدر صفحه نصب:
-
نام کاربری ادمین
-
رمز عبور
-
مسیر data (پیشفرض)
-
نوع دیتابیس: MySQL
-
user: owncloud
-
password: همان رمز دیتابیس
فعالسازی HTTPS با Let’s Encrypt
برای آشنایی کامل با نصب گواهی SSL رایگان، مقاله راهنمای نصب SSL رایگان Let's Encrypt روی Nginx را نیز مطالعه کنید.
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d your_domain.comتنظیم فایروال
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enableمدیریت کاربران
از داخل پنل وب:
Settings → Users
-
ساخت کاربر
-
تعیین گروه
-
تعیین سهمیه فضا (Quota)
اشتراکگذاری فایل
امکانات:
-
اشتراک داخلی بین کاربران
-
لینک عمومی با رمز
-
تاریخ انقضا لینک
-
تعیین دسترسی فقط مشاهده یا ویرایش
افزایش امنیت
-
فعالسازی Two-Factor Authentication
-
تنظیم trusted_domains در فایل config.php
-
استفاده از Fail2Ban برای جلوگیری از حملات Brute Force
بهینهسازی عملکرد
در php.ini:
memory_limit = 512M
upload_max_filesize = 1G
post_max_size = 1Gفعالسازی OPcache:
opcache.enable=1بکاپگیری
فعال کردن maintenance mode:
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --onبکاپ دیتابیس:
mysqldump -u owncloud -p owncloud > owncloud_db.sqlبکاپ فایلها:
tar czf owncloud_files.tar.gz /var/www/owncloudOwnCloud یا Nextcloud؟
| معیار | OwnCloud | Nextcloud |
|---|---|---|
| تمرکز | پایداری سازمانی | نوآوری سریع |
| اکوسیستم اپ | کوچکتر اما پایدار | بزرگ و متنوع |
| مناسب برای | سازمانهای قانونمحور | تیمهای خلاق و توسعهمحور |
مزایا و معایب Self-Hosting
مزایا
-
کنترل کامل داده
-
بدون هزینه کاربر-به-کاربر
-
سفارشیسازی کامل
معایب
-
نیاز به نگهداری فنی
-
مسئولیت امنیت و بکاپ با شماست
جمعبندی
با راهاندازی OwnCloud روی Ubuntu، شما یک زیرساخت ذخیرهسازی فایل خصوصی، امن و کاملاً قابل کنترل در اختیار دارید. این سیستم میتواند از استفاده شخصی تا استقرار سازمانی بزرگ مقیاس را پوشش دهد. برای مقایسه با روش دیگر راهاندازی همین ابزار، مقاله راهنمای نصب OwnCloud برای ذخیرهسازی امن و خودمیزبان در اوبونتو را هم ببینید.
شرکت دیدگاه این راهنما را برای کمک به پیادهسازی یک راهکار ذخیرهسازی حرفهای، امن و مستقل ارائه کرده است تا بدون وابستگی به سرویسهای ابری خارجی، مدیریت دادهها کاملاً در اختیار شما باشد.
