Installing Appskull is pretty easy and can be completed within a few minutes.
SMTP mail application server.
PHP can send emails using its built-in email-sending methods. However, if you need more advanced email-sending features, you can use a dedicated local SMTP mail server application like Postfix, Sendmail, or Exim, or third-party email-sending services like SendGrid, Mailgun, and others.
To get more information, follow the Email configurations section in the Optional configurations chapter.
You'll need a package manager for JavaScript. We recommend npm, but you can use whichever package manager you prefer.
Also you'll need gulp-cli globally installed in-order to run the gulp
command to re-generate the assets files like CSS, JS, etc.
Install Appskull in few steps:
[app_root]/.env
file. Creating a database is simple and can be done effortlessly using a database management tool like pgAdmin4.
Place all the files and directories of Appskull (located in the upload directory) to your server/development environment. Ensure to configure/point the host's public root directory to the public directory in the Appskull software.
Note: To upload Appskull to the server, simply compress the upload directory into a zip file and upload the zipped directory. This will significantly speed up the upload process. Once the upload is complete, you can extract the contents using platform-specific commands for Windows or Linux. In some cases, you might need to install the necessary utilities to execute these commands.
Example commands to extract the zip file on the server:
Expand-Archive -Path upload.zip -DestinationPath upload
unzip upload.zip
Environment configuration
You can set the ENVIRONMENT in the [app_root]/.env
file. By default, it is set to development. If you want to run the code in the production environment, you should change the ENVIRONMENT to production in the [app_root]/.env
file. This is very important for the security.
#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------
CI_ENVIRONMENT = development
Base URL configuration
The base URL of the app can be configured in the [app_root]/.env
file. It is URL to the app's public directory root with a trailing slash. For example, http://example.com/
php spark serve
command, then you don't have to set the base URL in the [app_root]/.env
file.
Note: By default base URL configuration in the [app_root]/.env
file in the deactivation state. If you want to activate the base URL configuration, you should remove the # (Hash symbol) from the beginning of the line and set the base URL value.
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
# app.baseURL = ''
# If you have trouble with `.`, you could also use `_`.
# app_baseURL = ''
Remote host examples:
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
app.baseURL = 'http://example.com/'
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
app.baseURL = 'http://www.example.com/
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
app.baseURL = 'http://example.com/appskull/'
Remote host examples with HTTPS:
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
app.baseURL = 'https://example.com/'
Database configurations
The database configurations can be configured in the [app_root]/.env
file.
[app_root]/.env
file. Pay special attention to the database port number, username, password, and database name.
#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------
database.default.hostname = localhost
database.default.database = appskull
database.default.username = postgres
database.default.password = admin
database.default.DBDriver = Postgre
database.default.DBPrefix = appskull__
database.default.port = 5432
Optional configurations
To remove the 'index.php' segment from all URLs, set the timezone, and configure other optional stuff, refer to the Optional configurations chapter.
Other configurations
To learn about all the available configurations in CodeIgniter 4, refer to this related chapter on the official CodeIgniter 4 documentation.
If in a production environment
Install composer and run composer install --no-dev --no-scripts
command to install required dependencies.
If in a developer environment
Install composer and run composer install --no-scripts
command to install required dependencies.
Install npm and run npm install
command to install developer dependencies.
Also make sure to install gulp-cli globally in-order to run the gulp
command to re-generate the assets files like CSS, JS, etc.
Grant write permission to the following directories and their subdirectories. Otherwise, errors could occur when the app tries to write to these directories.
[app_root]/writable
Three directory type symbolic links need to be created to link/connect module assets directories into their respective directories in the public directory of the app.
To execute these commands, administrative privileges may be required, especially on Windows. On Linux, administrative privileges (sudo mode) are generally not necessary, but it depends on the location/directory where the command is being run.
In windows
The structure of the command.
mklink /D "C:\path\to\target" "C:\path\to\source"
Use the sample commands below to create the required symbolic links, and make sure to update the paths accordingly to your environment.
MKLINK /D "D:\xampp_8.0.11\htdocs\appskull\app\public\assets\nudasoft\app" "D:\xampp_8.0.11\htdocs\appskull\app\Nudasoft\App\Assets\public"
MKLINK /D "D:\xampp_8.0.11\htdocs\appskull\app\public\assets\nudasoft\auth" "D:\xampp_8.0.11\htdocs\appskull\app\Nudasoft\Auth\Assets\public"
MKLINK /D "D:\xampp_8.0.11\htdocs\appskull\app\public\assets\nudasoft\static_pages" "D:\xampp_8.0.11\htdocs\appskull\app\Nudasoft\StaticPages\Assets\public"
In linux
The structure of the command.
ln -s /path/to/source /path/to/target
Use the sample commands below to create the required symbolic links, and make sure to update the paths accordingly to your environment.
ln -s /path/to/xampp_8.0.11/htdocs/appskull/app/Nudasoft/App/Assets/public /path/to/xampp_8.0.11/htdocs/appskull/app/public/assets/nudasoft/app
ln -s /path/to/xampp_8.0.11/htdocs/appskull/app/Nudasoft/Auth/Assets/public /path/to/xampp_8.0.11/htdocs/appskull/app/public/assets/nudasoft/auth
ln -s /path/to/xampp_8.0.11/htdocs/appskull/app/Nudasoft/StaticPages/Assets/public /path/to/xampp_8.0.11/htdocs/appskull/app/public/assets/nudasoft/static_pages
If you are using an Nginx web server, you need to configure the Nginx server block/virtual host configuration file to point to the app's public directory. Below is a sample Nginx server block configuration file with the support for PHP.
server {
listen 80;
server_name example.com;
root /var/www/example_website_directory/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP configuration
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # Adjust PHP version if needed
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
You can test the installation by simply accessing app's base URL on a web browser. For example, http://localhost:8000
, http://localhost/appskull/
, http://example.com/
If you have followed all the above installation and configuration steps correctly, then the app should load the it's home view.
Additionally you can try signin/login into to the app using below creadencials:
Username/Password: superadmin