Moodle یک سیستم مدیریت محتوای متن باز می باشد این سیستم برای مربیان و کلاس های آموزشی ساخته شده است.در این آموزش یاد خواهیم گرفت چگونه Moodle 3.3.x را بر روی سیستم عامل Centos 7 بر روی نسخه سرور نصب کنیم.
پیشنیاز ها
- سیستم عامل CentOs 7 نسخه 64 بیتی با 2 یا 4 گیگ رم پیشنهاد می شود.
- یک یوزر با دسترسی Sudo user ایجاد کنید.
مرحله 1: به روز رسانی سیستم عامل
از طریق SSHبه سرور وصل شوید و وارد یوزر sudo شوید، برای نصب کردن epel
، سیستم عامل را آپدیت کنید و سپس برای اعمال شدن آپدیت ها سیستم عامل را ریست کنید.
1 2 3 |
sudo yum install epel-release -y sudo yum update -y && sudo shutdown -r now |
مرحله 2: نصب آپاچی 2.4.x
1 2 |
sudo yum install httpd -y |
با استفاده از دستور زیر صفحه پیش فرض آپاچی را حذف کنید:
1 2 |
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf |
با استفاده از دستور زیر امکان لیست کردن پوشه ها را برای کاربران ببندید
1 2 |
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf |
با استفاده از دستور زیر آپاچی را اجرا کنید و در زمان اجرا شدن سرور یه صورت خودکار فعال خواهد شد.
1 2 3 |
sudo systemctl start httpd.service sudo systemctl enable httpd.service |
مرحله 3: نصب MariaDB 10.2.x
با استفاده از مراحل زیر می توانید مراحل مربوط به MySQL را انجام دهید.
3.1 نصب و اجرا کردن MariaDB 10.2.x
1 2 3 4 5 |
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash sudo yum install MariaDB-server MariaDB-client -y sudo systemctl start mariadb.service sudo systemctl enable mariadb.service |
امن کردن 3.2 MariaDB در زمان نصب
1 2 |
sudo /usr/bin/mysql_secure_installation |
- Enter current password for root (enter for none): Just press the
Enter
button - Set root password? [Y/n]:
Y
- New password:
your-root-password
- Re-enter new password:
your-root-password
- Remove anonymous users? [Y/n]:
Y
- Disallow root login remotely? [Y/n]:
Y
- Remove test database and access to it? [Y/n]:
Y
- Reload privilege tables now? [Y/n]:
Y
ساخت یک MariaDB
از طریق shell دستور زیر را وارد کنید
1 2 |
mysql -u root -p |
موارد زیر را وارد کنید (با توجه به مشخصات دیتابیس)
1 2 3 4 5 6 |
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT; |
مرحله 4: نصب PHP 7.1 و پیشنیاز ها PHP 7.1
1 2 3 |
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y |
مرحله 5: نصب Moodle 3.3.2+
آماده سازی برنامه های مورد نیاز برای نصب Moodle
با استفاده ازا دستورات زیر موارد مورد نیاز را دانلود و سپس استخراج کنید.
نکته: شما می توانید همیشه از طریق صفحه اصلی Moodle آخرین ورژن این CMS را دانلود کنید.official download page
1 2 3 4 5 6 |
cd yum install -y wget wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz sudo tar -zxvf moodle-latest-33.tgz -C /var/www/html sudo chown -R root:root /var/www/html/moodle |
ساخت یک فضا برای نصب 5.2 Moodle
برای امنیت بیشتر پیشنهاد می شود فضایی خارج از بخش پابلیک وب باشد.
1 2 3 4 |
sudo mkdir /var/moodledata sudo chown -R apache:apache /var/moodledata sudo chmod -R 755 /var/moodledata |
ساخت یک فضای مجازی برای 5.3 Moodle
به یاد داشته باشید موارد را به صورت جایگزین وارد کنید ServerAdmin
, ServerName
, ServerAlias
, Errorlog
, and CustomLog
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf <VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/moodle/ ServerName moodle.example.com ServerAlias www.moodle.example.com <Directory /var/www/html/moodle/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/httpd/moodle.example.com-error_log CustomLog /var/log/httpd/moodle.example.com-access_log common </VirtualHost> EOF |
نصب 5.4 SELinux
به صورت پیش فرض SELinux در CentOs 7 غیر فعال می باشد با استفاده از دستور زیر می توانید وضعیت SELinux را مشاهده نمایید.
1 2 |
sestatus |
بر روی CentOs 7 خروجی ها به شکل زیر خواهد بود:
1 2 3 4 5 6 7 8 9 10 |
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 |
نصب ابزار های پیشنیاز برای SELinux:
1 2 |
sudo yum install -y policycoreutils policycoreutils-python |
موارد زیر را وارد کنید:
1 2 3 4 5 |
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/moodle(/.*)?' sudo restorecon -Rv '/var/www/html/moodle/' sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/moodledata(/.*)?' sudo restorecon -Rv '/var/moodledata/' |
نصب Moodleاز 5.5 CLI
1 2 |
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php |
موارد را با توجه به نیاز خود تغییر دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
== Choose a language == en - English (en) ? - Available language packs type value, press Enter to use default value (en) : en ------------------------------------------------------------------------------- == Data directories permission == type value, press Enter to use default value (2777) : 2777 ------------------------------------------------------------------------------- == Web address == type value : http://203.0.113.1 ------------------------------------------------------------------------------- == Data directory == type value, press Enter to use default value (/var/www/html/moodledata) : /var/moodledata ------------------------------------------------------------------------------- == Choose database driver == mysqli mariadb type value, press Enter to use default value (mysqli) : mariadb ------------------------------------------------------------------------------- == Database host == type value, press Enter to use default value (localhost) : localhost ------------------------------------------------------------------------------- == Database name == type value, press Enter to use default value (moodle) : moodle ------------------------------------------------------------------------------- == Tables prefix == type value, press Enter to use default value (mdl_) : mdl_ ------------------------------------------------------------------------------- == Database port == type value, press Enter to use default value () : ------------------------------------------------------------------------------- == Unix socket == type value, press Enter to use default value () : ------------------------------------------------------------------------------- == Database user == type value, press Enter to use default value (root) : moodleuser ------------------------------------------------------------------------------- == Database password == type value : yourpassword ------------------------------------------------------------------------------- == Full site name == type value : My Moodle Site ------------------------------------------------------------------------------- == Short name for site (eg single word) == type value : moodle ------------------------------------------------------------------------------- == Admin account username == type value, press Enter to use default value (admin) : admin ------------------------------------------------------------------------------- == New admin user password == type value : your-admin-password ------------------------------------------------------------------------------- == New admin user email address == type value, press Enter to use default value () : admin@example.com ------------------------------------------------------------------------------- == Upgrade key (leave empty to not set it) == type value : ------------------------------------------------------------------------------- Have you read these conditions and understood them? type y (means yes) or n (means no) : y |
تغییر دسترسی 5.6 /var/www/html/config.php
با استفاده از دستور زیر دسترسی را به فایل کانفیگ دهید.
1 2 |
sudo chmod o+r /var/www/html/moodle/config.php |
نصب کرون جاب 5.7 cron job
دستور زیر را وارد کنید:
1 2 |
sudo crontab -u apache -e |
فرمان زیر را وارد کنید:
1 2 |
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null |
با استفاده از دستور زیر ذخیره و خارج شوید
1 2 |
:wq! |
ریست کردن 5.8 Apache
سپس آپاچی را ریست کنید.
1 2 |
sudo systemctl restart httpd.service |
در فایروال سیستم عامل HTTPرا باز کنید:
1 2 3 |
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --reload |
پس از پایان مراحل نصب شما از طریق HTTP://200.200.1.1 خواهید توانست به این CMS متصل شوید.(آی پی 200.200.1.1 همان آی پی سرور مجازی شا می باشد.
با استفاده از یوزر نیم و پسوردی که در زمان نصب سرور وارد کرده اید می توانید به سیستم متصل شوید.
تبریک شما موفق شدید Moodle 3.3.x بر روی سرور مجازی نصب کنید