Moodle یک سیستم مدیریت محتوای متن باز می باشد این سیستم برای مربیان و کلاس های آموزشی ساخته شده است.در این آموزش یاد خواهیم گرفت چگونه Moodle 3.3.x را بر روی سیستم عامل Centos 7 بر روی نسخه سرور نصب کنیم.
پیشنیاز ها
- سیستم عامل CentOs 7 نسخه 64 بیتی با 2 یا 4 گیگ رم پیشنهاد می شود.
- یک یوزر با دسترسی Sudo user ایجاد کنید.
مرحله 1: به روز رسانی سیستم عامل
از طریق SSHبه سرور وصل شوید و وارد یوزر sudo شوید، برای نصب کردن epel
، سیستم عامل را آپدیت کنید و سپس برای اعمال شدن آپدیت ها سیستم عامل را ریست کنید.
sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now
مرحله 2: نصب آپاچی 2.4.x
sudo yum install httpd -y
با استفاده از دستور زیر صفحه پیش فرض آپاچی را حذف کنید:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
با استفاده از دستور زیر امکان لیست کردن پوشه ها را برای کاربران ببندید
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
با استفاده از دستور زیر آپاچی را اجرا کنید و در زمان اجرا شدن سرور یه صورت خودکار فعال خواهد شد.
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
مرحله 3: نصب MariaDB 10.2.x
با استفاده از مراحل زیر می توانید مراحل مربوط به MySQL را انجام دهید.
3.1 نصب و اجرا کردن MariaDB 10.2.x
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 در زمان نصب
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 دستور زیر را وارد کنید
mysql -u root -p
موارد زیر را وارد کنید (با توجه به مشخصات دیتابیس)
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
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
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
برای امنیت بیشتر پیشنهاد می شود فضایی خارج از بخش پابلیک وب باشد.
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
cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin [email protected]
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 را مشاهده نمایید.
sestatus
بر روی CentOs 7 خروجی ها به شکل زیر خواهد بود:
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:
sudo yum install -y policycoreutils policycoreutils-python
موارد زیر را وارد کنید:
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
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php
موارد را با توجه به نیاز خود تغییر دهید:
== 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 ()
: [email protected]
-------------------------------------------------------------------------------
== 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
با استفاده از دستور زیر دسترسی را به فایل کانفیگ دهید.
sudo chmod o+r /var/www/html/moodle/config.php
نصب کرون جاب 5.7 cron job
دستور زیر را وارد کنید:
sudo crontab -u apache -e
فرمان زیر را وارد کنید:
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null
با استفاده از دستور زیر ذخیره و خارج شوید
:wq!
ریست کردن 5.8 Apache
سپس آپاچی را ریست کنید.
sudo systemctl restart httpd.service
در فایروال سیستم عامل HTTPرا باز کنید:
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 بر روی سرور مجازی نصب کنید