Dujiaoka Automated Cloud Infrastructure Platform
repository·master·Indexed 12 days ago
https://github.com/assimon/dujiaokaA PHP-based automated cloud infrastructure and service platform. This project is deprecated as of February 12, 2026, with users advised to migrate to Dujiao-Next. Documentation includes LEMP stack installation on Debian 11, Nginx configuration, PHP 7.4 FPM setup, Docker deployment via docker-compose, and template customization for the Luna and Hyper themes.
What's inside Dujiaoka
- As of February 12, 2026, this project (dujiaoka) has stopped receiving updates and maintenance. Users are advised to migrate to the new version, Dujiao-Next, located at https://dujiao-next.com.
Hyper Theme for dujiaoka
masterHyper is a theme for the dujiaoka project. It is built using the Bootstrap HTML framework and is based on the Hyper template from https://coderthemes.com/hyper/.Download and prepare Dujiaoka source code
masterClone the repository into your web directory and set appropriate permissions.
cd /var/www/dujiaoka apt install git git clone https://github.com/assimon/dujiaoka.git chmod 777 -R /var/www/dujiaokaConfigure product input fields as dropdown menus
masterIn the Luna template, you can convert standard product input fields into dropdown selection menus by appending options to the field name using the pipe (
|) character as a separator.Syntax:
field_name[option1|option2|option3]=trueservice=所在区服[1号服务器|2号服务器|3号服务器]=trueConfigure Supervisor for Laravel Workers
masterTo ensure background tasks (queues) run continuously, configure Supervisor.
Install Supervisor:
apt install supervisorCreate a configuration file at
/etc/supervisor/conf.d/dujiaoka.conf:[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/dujiaoka/artisan queue:work autostart=true autorestart=true user=www numprocs=1 redirect_stderr=true stdout_logfile=/var/www/dujiaoka/worker.logNote: Ensure the
command,user, and log file paths match your actual installation directory and user.Start the worker:
supervisorctl reread supervisorctl update supervisorctl start laravel-worker:*
[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/dujiaoka/artisan queue:work autostart=true autorestart=true user=www numprocs=1 redirect_stderr=true stdout_logfile=/var/www/dujiaoka/worker.logConfigure Nginx for Dujiaoka
masterCreate an Nginx server block to handle requests. Ensure you update
server_name,root, and SSL certificate paths to match your environment.Key configuration requirements:
- Root directory: Should point to the
/publicsubdirectory of the project (e.g.,/var/www/dujiaoka/public). - PHP handling: Use
fastcgi_passpointing to your PHP-FPM socket (e.g.,unix:/var/run/php/php7.4-fpm.sock). - SSL: Configure
ssl_certificateandssl_certificate_keypaths. - Try Files: Ensure
try_files $uri $uri/ /index.php?$query_string;is set for proper routing.
After configuring, test and restart Nginx:
nginx -t /etc/init.d/nginx restartserver { listen 443 ssl http2; listen [::]:443 ssl http2; server_name domain.com ; index index.html index.htm index.php default.html default.htm default.php; root /var/www/dujiaoka/public; ssl_certificate /etc/nginx/sslcert/cert.crt; ssl_certificate_key /etc/nginx/sslcert/key.key; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; include snippets/fastcgi-php.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location /\.well-known { allow all; } location ~ /\.\ { deny all; } access_log off; }- Root directory: Should point to the
Customize the Luna template background image
masterYou can replace the default background image with your own. It is recommended to use an image with dimensions 1920px * 1224px.
File Location:
{your_deployment_path}/public/assets/luna/img/background.pngyour_deployment_path/public/assets/luna/img/background.pngInstall Composer dependencies
masterInstall Composer locally within the project directory to manage dependencies.
cd /var/www/dujiaoka php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');" mv composer.phar /usr/local/bin/composer # Run installation as a specific user adduser user su user composer install composer update suRemove the background image from the Luna template
masterTo completely remove the background image, you must edit the navigation layout file and comment out or remove the background
divtag.File Location:
{your_deployment_path}/resources/views/luna/layouts/_nav.blade.phpAction: Comment out the
divtag located on the first line of the file.{{--<div class="background"></div>--}}Install the LEMP stack on Debian
masterTo manually install the required environment (Nginx, MariaDB, PHP 7.4, and Redis) on Debian 11, follow these steps:
Update system packages:
apt update apt upgradeInstall Nginx and MariaDB:
apt install nginx apt install mariadb-serverSecure MariaDB: Run
mysql_secure_installationand follow the prompts.Create Database and User: Log into MariaDB using
mariadband execute:CREATE DATABASE [database_name]; GRANT ALL ON [database_name].* TO '[username]'@'localhost' IDENTIFIED BY '[password]' WITH GRANT OPTION; FLUSH PRIVILEGES; EXITInstall PHP 7.4 and required extensions:
apt install php php-fpm php-mysql php-gd php-zip php-opcache php-curl php-mbstring php-intl php-dom php-bcmath php-redis php-fileinfoInstall Redis:
apt install redis
apt update apt upgrade apt install nginx apt install mariadb-server apt install php php-fpm php-mysql php-gd php-zip php-opcache php-curl php-mbstring php-intl php-dom php-bcmath php-redis php-fileinfo apt install redisComplete the Web Installation
masterNavigate to your domain in a web browser to access the installation page. You will need to provide:
- MySQL database name
- MySQL password
- Redis password (leave blank if not configured)
- Website URL (e.g.,
https://domain.com)
Configure PHP 7.4 FPM for Dujiaoka
masterDujiaoka requires certain PHP functions to be enabled. You must remove them from the
disable_functionslist in yourphp.inifile.- Edit the configuration file:
nano /etc/php/7.4/fpm/php.ini - Search for
disable_functions(usectrl+win nano). - Remove the following functions from the list if they exist:
putenvproc_openpcntl_signalpcntl_alarm
- Reload PHP-FPM to apply changes:
/etc/init.d/php7.4-fpm reload
- Edit the configuration file: