Dalton Plan is a popular educational tool widely used in many schools worldwide. The tool is designed to ease the process of student-teacher communication and ensure that learning remains interactive and effective. In this tutorial, we will show you how to install Dalton Plan on Arch Linux.
Before installing Dalton Plan, it is essential to ensure that your system is up-to-date. Run the following command to update the system:
sudo pacman -Syu
Dalton plan requires several dependencies to run correctly. You should have them installed on your system before installing Dalton Plan. Run the following command to install the dependencies:
sudo pacman -S git nginx php php-fpm mariadb
The next step is to install and configure Nginx, which will serve as the webserver for Dalton Plan. Run the following command to install Nginx:
sudo pacman -S nginx
Once installed, start and enable the Nginx service:
sudo systemctl start nginx
sudo systemctl enable nginx
Lastly, create a new Nginx configuration file for Dalton Plan by running the following command:
sudo nano /etc/nginx/sites-available/daltonplan.conf
Add the following contents to the configuration file:
server {
listen 80;
listen [::]:80;
root /var/www/daltonplan/;
index index.php;
server_name daltonplan.yourdomain.com;
error_log /var/log/httpd/daltonplan_error.log;
access_log /var/log/httpd/daltonplan_access.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
}
Save and exit the file.
Next, create a symbolic link to this file in Nginx's active configuration directory:
sudo ln -s /etc/nginx/sites-available/daltonplan.conf /etc/nginx/sites-enabled/
Finally, test the Nginx configuration and restart the service:
sudo nginx -t
sudo systemctl restart nginx.service
Clone the Dalton Plan repository from Github by running the following command:
git clone https://github.com/DaltonPlan/daltonplan.git /var/www/daltonplan/
Next, create a new MariaDB database and user for Dalton Plan. Log in to MariaDB with the following command:
sudo mysql -u root -p
Create the new database:
CREATE DATABASE daltonplan;
Create a new user and grant him/her all privileges on the database:
GRANT ALL ON daltonplan.* TO 'daltonplanuser'@'localhost' IDENTIFIED BY 'new_password_here';
Flush the privileges and exit MariaDB:
FLUSH PRIVILEGES;
EXIT;
Navigate to the Dalton Plan directory and copy the configuration file template:
cd /var/www/daltonplan/
cp .env.example .env
Edit the copied configuration file with your favorite text editor:
sudo nano .env
Update the following configuration variables in the file:
APP_NAME=
APP_ENV=
APP_KEY=
APP_DEBUG=false
APP_URL=http://daltonplan.yourdomain.com/
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=daltonplan
DB_USERNAME=daltonplanuser
DB_PASSWORD=new_password_here
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@gmail.com
MAIL_PASSWORD=yourpassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=youremail@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
Save and exit the file.
Generate a new application key:
sudo php artisan key:generate
Migrate the database:
sudo php artisan migrate
Finally, set the correct file permissions:
sudo chown -R www-data:www-data /var/www/daltonplan/
sudo chmod -R 775 /var/www/daltonplan/storage/
sudo chmod -R 775 /var/www/daltonplan/bootstrap/cache/
Dalton plan requires a cron job to run scheduled tasks. Run the following command to add the cron job:
sudo crontab -e -u www-data
Add the following line to the crontab file:
* * * * * php /var/www/daltonplan/artisan schedule:run >> /dev/null 2>&1
Save and exit the file.
Open your web browser and navigate to http://daltonplan.yourdomain.com/
. The Dalton Plan dashboard should appear.
Congratulations! You have successfully installed Dalton Plan on Arch Linux.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!