### Example: Deploying a Quickstart Application
Source: https://docs.serv00.com/WildFly
Clone a quickstart project, build it, and deploy the WAR file to WildFly. This example uses the helloworld quickstart.
```bash
cd ~
git clone https://github.com/wildfly/quickstart.git
cd ~/quickstart/helloworld && mvn clean package
~/wildfly/bin/jboss-cli.sh
connect localhost:NUM1
[standalone@localhost:NUM1 /] deploy ~/quickstart/helloworld/target/helloworld.war
devil www add domena_docelowa proxy localhost NUM4/helloworld
```
--------------------------------
### Install Go Runtime with Mise
Source: https://docs.serv00.com/Mise
Installs a specific version of the Go runtime using Mise. Ensure Mise is globally installed first.
```bash
$ TMPDIR=~/.tmp mise install go@1.24
```
--------------------------------
### Basic Flask Application Example
Source: https://docs.serv00.com/Flask
A minimal Flask application that returns 'Hello World!' on the root route. This is used for testing the Flask setup.
```python
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
```
--------------------------------
### Install RVM
Source: https://docs.serv00.com/RVM
Installs RVM by fetching the script and executing it. Ensure GPG keys are imported first. After installation, source the RVM script to enable it in the current shell session.
```bash
$ gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: Total keys processed: 2
gpg: unchanged: 2
$ curl -sSL https://get.rvm.io | bash -s head
(...)
# Thank you for using RVM!
# We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.
In case of problems: http://rvm.io/help and https://twitter.com/rvm_io
$ source .rvm/scripts/rvm
```
--------------------------------
### Install Go
Source: https://docs.serv00.com/Gogs
Download and install a specific version of Go, then configure the system's PATH to include Go binaries.
```bash
wget https://dl.google.com/go/go1.14.2.freebsd-amd64.tar.gz
tar -zxf go1.14.2.freebsd-amd64.tar.gz
mkdir ~/bin
ln -s ~/go/bin/go ~/bin/ && ln -s ~/go/bin/gofmt ~/bin/
echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile
```
--------------------------------
### Install Kotlin using SDKMAN
Source: https://docs.serv00.com/Kotlin
Install the Kotlin programming language using the SDKMAN command.
```bash
sdk install kotlin
```
--------------------------------
### Install WP-CLI
Source: https://docs.serv00.com/WP-CLI
Installs WP-CLI by downloading the phar archive and making it executable.
```bash
mkdir ~/bin
wget -O ~/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x ~/bin/wp
```
--------------------------------
### Start IPython Session with Mise
Source: https://docs.serv00.com/Mise
Starts an interactive IPython session using a specific Python version managed by Mise. IPython must be installed.
```bash
$ mise exec python@3.13 -- ipython
```
--------------------------------
### Start Redis Server
Source: https://docs.serv00.com/Redis
Use this command to start the Redis server with a specified configuration file within a screen session.
```bash
screen redis-server redis.conf
```
--------------------------------
### Install golangci-lint with Mise
Source: https://docs.serv00.com/Mise
Installs the golangci-lint tool for a specific Go version using Mise's exec command. This requires Go to be installed first.
```bash
$ mise exec go@1.24 -- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
```
--------------------------------
### Install SDKMAN
Source: https://docs.serv00.com/Kotlin
Download and install SDKMAN, a tool for managing Software Development Kits.
```bash
curl -s "https://get.sdkman.io" | bash
```
--------------------------------
### Start Gogs Server
Source: https://docs.serv00.com/Gogs
Start the Gogs web server. Replace 'reserved_port' with the actual port number configured for your website.
```bash
nohup ~/gogs/gogs web -p reserved_port &
```
--------------------------------
### Start WildFly Server
Source: https://docs.serv00.com/WildFly
Start the WildFly server in the background. Ensure you are in the WildFly directory.
```bash
./wildfly/bin/standalone.sh &
```
--------------------------------
### List Installed Go Versions with Mise
Source: https://docs.serv00.com/Mise
Lists all Go versions currently installed via Mise.
```bash
$ mise list
```
--------------------------------
### Install Gogs from Source
Source: https://docs.serv00.com/Gogs
Clone the Gogs repository and build the executable. Ensure you are in the 'gogs' directory before building.
```bash
git clone --depth 1 https://github.com/gogs/gogs.git gogs
cd gogs
go build -o gogs
```
--------------------------------
### Example: Create New Zone
Source: https://docs.serv00.com/DNS_configuration
Demonstrates the command to create a new DNS zone for a domain.
```bash
devil dns add example.com
```
--------------------------------
### Install IPython with Mise
Source: https://docs.serv00.com/Mise
Installs IPython for a specific Python version managed by Mise. Requires the Python interpreter to be installed first.
```bash
$ mise exec python@3.13 -- pip install ipython
```
--------------------------------
### Install Language with Auto-Plugin Installation
Source: https://docs.serv00.com/Mise
Installs a specific language version, like Lua 5.4. Mise automatically fetches and installs the necessary plugin if it's not already present. Ensure TMPDIR is set if needed.
```bash
$ TMPDIR=~/.tmp mise install lua@5.4
```
--------------------------------
### Example: Add A Record
Source: https://docs.serv00.com/DNS_configuration
Shows how to add an 'A' record for a domain, mapping it to an IPv4 address.
```bash
devil dns add example.com example.com A 1.2.3.4
```
--------------------------------
### List Available Mise Plugins
Source: https://docs.serv00.com/Mise
Run this command to see all plugins available in the Mise registry. No setup is required.
```bash
$ mise registry list
```
--------------------------------
### Start Catalyst Development Server
Source: https://docs.serv00.com/Catalyst
Navigate to your project directory and use this command to start the Catalyst development server using FastCGI. Ensure the socket path is correctly specified.
```bash
./script/PROJECT_fastcgi.pl -l ../../fastcgi0.sock
```
--------------------------------
### Sieve File Into Example Folder
Source: https://docs.serv00.com/Sieve
This example moves messages from a specified sender to the 'INBOX.Example' folder. Ensure the folder exists or messages will go to the inbox.
```sieve
if address :is "From" "newsletter@mypals.org" {
fileinto "INBOX.Example";
stop;
}
```
--------------------------------
### Start Tomcat Server
Source: https://docs.serv00.com/Tomcat
Executes the startup script to launch the Tomcat server. Ensure CATALINA_BASE is correctly set.
```bash
~/apache-tomcat/bin/startup.sh
```
--------------------------------
### Install WordPress with WP-CLI
Source: https://docs.serv00.com/WP-CLI
Downloads WordPress core files to a specified directory with a given locale.
```bash
wp core download --locale=en_GB --path=/usr/home/LOGIN/domains/DOMAIN/public_html
```
--------------------------------
### List Installed Versions with Mise
Source: https://docs.serv00.com/Mise
Lists all installed versions of software managed by Mise. This command is common for both Python and Node.js.
```bash
$ mise list
```
--------------------------------
### Install Yarn with Mise
Source: https://docs.serv00.com/Mise
Installs Yarn using Corepack and npm for a specific Node.js version managed by Mise. Node.js must be installed first.
```bash
$ mise exec node@22 -- corepack enable
```
```bash
$ mise exec node@22 -- npm install -g yarn
```
--------------------------------
### Example Crontab Configuration
Source: https://docs.serv00.com/Cron
A sample crontab file demonstrating various scheduling options and environment variable settings. It includes examples for daily, monthly, specific day/time, and interval-based jobs.
```crontab
# Use /usr/local/bin/bash to run commands. This line is not required for crontab to work.
SHELL=/usr/local/bin/bash
# Use the following value for the PATH variable. Without this, we must specify full paths to binaries
# (e.g. instead of python we must specify /usr/local/bin/python, etc.)
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/home/LOGIN/bin
# Run 5 minutes after midnight, every day
5 0 * * * /usr/home/LOGIN/bin/daily.job >> /usr/home/LOGIN/tmp/out 2>&1
# Run at 14:15 on the first day of every month -- output is
# mailed to the owner of the crontab
15 14 1 * * /usr/home/LOGIN/bin/monthly
# Annoy Stepan every weekday at 22:00
0 22 * * 1-5 echo "Stepan, it's 22:00. Where are your kids?!" | mail -s "It's 22:00" stepan@domain
# Send mail (daily at midnight)
0 0 * * * echo -e "Subject: Title of mail\n$x" | /usr/sbin/sendmail address@email
# Other examples
23 0-23/2 * * * echo "run 23 min after midnight, 2, 4, ..., every day"
5 4 * * sun echo "Run at 5 past 4 on Sundays"
0 10 * * 1,3 echo "Run every Monday and Wednesday at 10.00"
*/2 * * * * echo "Run every 2 minutes"
# Or using the verbal format using the "@" symbol, i.e.:
@reboot echo "System has been rebooted!"; # - command run every time the system is rebooted
@yearly echo "Another year has passed!"; # - equivalent to "0 0 1 1 *"
@annually echo "Another year has passed!"; # - same as above
@monthly echo "Another month has passed!"; # - equivalent to "0 0 1 * *"
@weekly echo "Another week has passed!"; # - equivalent to "0 0 * * 0"
@daily echo "Another day has passed!"; # - equivalent to "0 0 * * *"
@midnight echo "Another day has passed!"; # - same as above
@hourly echo "Another hour has passed!"; # - equivalent to "0 * * * *"
```
--------------------------------
### List Installed Mise Plugins
Source: https://docs.serv00.com/Mise
Check which plugins are currently installed on your Mise instance. This command requires Mise to be installed.
```bash
$ mise plugins list
```
--------------------------------
### Install Node.js Version with Mise
Source: https://docs.serv00.com/Mise
Installs a specific Node.js version using Mise. Ensure TMPDIR is set if needed.
```bash
$ TMPDIR=~/.tmp mise install node@22
```
--------------------------------
### Verify golangci-lint Installation
Source: https://docs.serv00.com/Mise
Checks the installed version of golangci-lint using Mise to execute the command within the context of the specified Go version.
```bash
$ mise exec go@1.24 -- golangci-lint --version
```
--------------------------------
### Install AdminMongo Package
Source: https://docs.serv00.com/AdminMongo
Installs the admin-mongo npm package and creates a symbolic link to make it accessible.
```bash
npm i admin-mongo
rm -R public_nodejs
ln -s node_modules/admin-mongo/ public_nodejs
```
--------------------------------
### FastCGI socket paths
Source: https://docs.serv00.com/CGI
Example paths for FastCGI sockets, which should be granted 'o+rw' permissions. Each domain can use up to 10 sockets.
```text
/usr/home/login/domains/domain/fastcgi0.sock
/usr/home/login/domains/domain/fastcgi1.sock
/usr/home/login/domains/domain/fastcgi2.sock
(...)
/usr/home/login/domains/domain/fastcgi9.sock
```
--------------------------------
### Start GlassFish Domain
Source: https://docs.serv00.com/GlassFish
This command initiates the GlassFish server domain. Ensure all necessary ports are reserved and configurations are updated prior to execution.
```bash
/usr/home/`_`login`_`/glassfish-4.1/bin/asadmin start-domain
```
--------------------------------
### Copy Tomcat Server Installation
Source: https://docs.serv00.com/Tomcat
Copies the Tomcat server installation from a system path to the user's home directory. Choose the command corresponding to the desired Tomcat version.
```bash
cp -r /usr/local/apache-tomcat-8.5 ~/apache-tomcat
```
```bash
cp -r /usr/local/apache-tomcat-9.0 ~/apache-tomcat
```
```bash
cp -r /usr/local/apache-tomcat-10.1 ~/apache-tomcat
```
--------------------------------
### Install Bundler for Ruby
Source: https://docs.serv00.com/Mise
Installs the Bundler gem for managing Ruby project dependencies. This command executes within the context of the specified Ruby version.
```bash
$ mise exec ruby@3.3 -- gem install bundler
```
--------------------------------
### Install Python Version with Mise
Source: https://docs.serv00.com/Mise
Installs a specific Python version using Mise. Ensure TMPDIR is set if needed.
```bash
$ TMPDIR=~/.tmp mise install python@3.13
```
--------------------------------
### Example: Add Subdomain A Record
Source: https://docs.serv00.com/DNS_configuration
Illustrates adding an 'A' record for a subdomain, pointing it to a different IP address.
```bash
devil dns add example.com subdomain.example.com A 5.6.7.8
```
--------------------------------
### Install Rust Toolchain with Mise
Source: https://docs.serv00.com/Mise
Installs a specific Rust toolchain version using Mise. Ensure the TMPDIR environment variable is set to a writable location.
```bash
$TMPDIR=~/.tmp mise install rust@1.76
```
--------------------------------
### Install Ruby on Rails Gems
Source: https://docs.serv00.com/Ruby_on_Rails
Installs the nokogiri and rails gems, with specific flags for system libraries and paths. Ensure RVM is configured before running.
```bash
gem install nokogiri -- --use-system-libraries --with-iconv-lib=/usr/local/lib --with-iconv-include=/usr/local/include --with-xml2-lib=/usr/local/lib --with-xml2-include=/usr/local/include/libxml2/libxml --with-xslt-lib=/usr/local/lib --with-xslt-include=/usr/local/include/libxslt
gem install rails
```
--------------------------------
### Activate Go Environment in Bash
Source: https://docs.serv00.com/Mise
Adds the specified Go version's bin directory to your PATH for the current session. This is useful for immediate use after installation.
```bash
$ eval "$(mise env -s bash go@1.24)"
```
--------------------------------
### Download WordPress Installation Archive
Source: https://docs.serv00.com/WordPress
Use this command to fetch the latest WordPress version zip file from the official repository.
```bash
fetch https://wordpress.org/latest.zip
```
--------------------------------
### Gogs Automatic Startup Script
Source: https://docs.serv00.com/Gogs
Create a shell script to start Gogs, ensuring the PATH is set correctly. This script is used for automatic startup after reboots.
```bash
#!/bin/bash
export PATH=$HOME/bin:$PATH
nohup ~/gogs/gogs web -p reserved_port
```
--------------------------------
### Install Package with cpuset
Source: https://docs.serv00.com/Python
If the number of system processes is exceeded during package compilation, use the 'cpuset' command to limit the resources used by pip for installation.
```bash
cpuset -l 0 pip install package_name
```
--------------------------------
### Verify Yarn Installation with Mise
Source: https://docs.serv00.com/Mise
Verifies the Yarn installation by checking its version for a specific Node.js version managed by Mise.
```bash
$ mise exec node@22 -- yarn --version
```
--------------------------------
### Example: Add Google Mail Records (Template)
Source: https://docs.serv00.com/DNS_configuration
This command adds a pre-defined set of records for Google Mail services to the domain.
```bash
devil dns add example.com googlemail
```
--------------------------------
### Install Ruby Interpreter with Mise
Source: https://docs.serv00.com/Mise
Installs a specific Ruby version using Mise. Ensure the TMPDIR environment variable is set to a writable location.
```bash
$TMPDIR=~/.tmp mise install ruby@3.3
```
--------------------------------
### Start Embedded PHP Web Server
Source: https://docs.serv00.com/PHP
Start PHP's embedded web server on a reserved TCP port. This allows access to PHP scripts via a web browser. It's recommended to run this within a 'screen' session to keep it active after logout.
```bash
cd /usr/home/LOGIN/domains/DOMAIN/public_html
php73 -S 0.0.0.0:RESERVED_PORT
```
```bash
screen -dm sh -c "php73 -S 0.0.0.0:RESERVED_PORT"
```
--------------------------------
### Create New Ruby on Rails Project
Source: https://docs.serv00.com/Ruby_on_Rails
Creates a new Ruby on Rails project named 'public_ruby' in the specified domain directory. It first removes any existing 'public_ruby' directory and installs the sqlite3 gem.
```bash
cd /usr/home/LOGIN/domains/DOMAIN/
rm -rf public_ruby
gem install sqlite3 -- --build-flags --with-sqlite3-include=/usr/local/include --with-sqlite3-lib=/usr/local/lib --with-sqlite3-dir=/usr/local
rails new public_ruby
```
--------------------------------
### Example: Delete Entire Zone
Source: https://docs.serv00.com/DNS_configuration
Shows the command to remove an entire DNS zone for a domain.
```bash
devil dns del example.com
```
--------------------------------
### Manage WordPress Themes
Source: https://docs.serv00.com/WP-CLI
Installs, deletes, or updates WordPress themes.
```bash
wp theme install/delete THEME_NAME
```
```bash
wp theme update THEME_NAME
```
--------------------------------
### Example: Add CAA Record for Let's Encrypt
Source: https://docs.serv00.com/DNS_configuration
This command adds a CAA record to authorize Let's Encrypt to issue SSL certificates for the domain.
```bash
devil dns add example.com example.com CAA issue letsencrypt.org
```
--------------------------------
### Reinstall Go with Mise
Source: https://docs.serv00.com/Mise
Reinstalls a specific version of Go (Golang) using Mise. This is useful for troubleshooting or updating an existing installation.
```bash
$ TMPDIR=~/.tmp mise reinstall go@1.24
```
--------------------------------
### Install Ruby Interpreter with RVM
Source: https://docs.serv00.com/RVM
Installs a specific Ruby version using RVM. The `--autolibs=disabled` flag prevents automatic installation of libraries. After installation, bundler can be installed using gem.
```bash
$ rvm install 3.3 --autolibs=disabled
(...)
Install of ruby-3.3 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
$ gem install bundler
(...)
1 gem installed
```
--------------------------------
### Remove WordPress Install Directory
Source: https://docs.serv00.com/WordPress
After a successful WordPress installation, this command removes the 'install' directory to enhance security.
```bash
rm -r public_html/install
```
--------------------------------
### Example: Add Google Mail MX Records
Source: https://docs.serv00.com/DNS_configuration
Provides specific commands to add multiple MX records for Google Mail, including priority and target servers.
```bash
devil dns add example.com example.com MX 1 ASPMX.L.GOOGLE.COM 3600
devil dns add example.com example.com MX 5 ALT1.ASPMX.L.GOOGLE.COM 3600
devil dns add example.com example.com MX 5 ALT1.ASPMX.L.GOOGLE.COM 3600
devil dns add example.com example.com MX 10 ALT3.ASPMX.L.GOOGLE.COM 3600
devil dns add example.com example.com MX 10 ALT3.ASPMX.L.GOOGLE.COM 3600
```
--------------------------------
### Configure Automatic Tomcat Startup on Reboot
Source: https://docs.serv00.com/Tomcat
Sets up a cron job to automatically start the Tomcat server after the system reboots. This command should be added as a @reboot task.
```bash
/bin/sh /usr/home/LOGIN/apache-tomcat/bin/startup.sh
```
--------------------------------
### GlassFish Domain Configuration Snippets
Source: https://docs.serv00.com/GlassFish
These XML fragments from the GlassFish domain configuration file (domain.xml) show how to set various network listener and system property ports. Ensure these ports are reserved before starting the server.
```xml
```
```xml
```
```xml
```
```xml
```
```xml
```
```xml
```
--------------------------------
### Add Gogs to Crontab for Auto-Start
Source: https://docs.serv00.com/Gogs
Add a cron job to automatically start the Gogs server script after each system reboot. Ensure the path to the script is correct.
```bash
@reboot /home/login/gogscron.sh
```
--------------------------------
### Update All Installed Mise Plugins
Source: https://docs.serv00.com/Mise
Updates all currently installed plugins to their latest available versions. This command ensures you have the most recent plugin updates.
```bash
$ mise plugins update
```
--------------------------------
### Connect to SFTP Server (UNIX)
Source: https://docs.serv00.com/SFTP
Use this command to initiate an SFTP connection on UNIX-like systems. Replace LOGIN and SERVER with your credentials.
```bash
sftp LOGIN@SERVER
```
--------------------------------
### Install Package with CMAKE_BUILD_PARALLEL_LEVEL
Source: https://docs.serv00.com/Python
When a package installation relies on 'cmake', set the CMAKE_BUILD_PARALLEL_LEVEL environment variable to 1 to limit parallel build processes.
```bash
CMAKE_BUILD_PARALLEL_LEVEL=1 pip install package_name
```
--------------------------------
### SFTP Command Help (UNIX)
Source: https://docs.serv00.com/SFTP
Displays a list of available SFTP commands when connected to the server.
```bash
?
```
--------------------------------
### Configure Proxy for Application Access
Source: https://docs.serv00.com/WildFly
Set up a proxy to make the application accessible externally. Replace target_domain, NUM4, and war_file_name_without_extension with your specific values.
```bash
devil www add target_domain proxy localhost NUM4/war_file_name_without_extension
```
--------------------------------
### View SFTP Manual (UNIX)
Source: https://docs.serv00.com/SFTP
Opens the manual page for the sftp command, providing detailed information.
```bash
man sftp
```
--------------------------------
### Kotlin Hello World Application
Source: https://docs.serv00.com/Kotlin
A simple Kotlin program that prints 'Hello World!' to the console.
```kotlin
// Application displays: "Hello World!"
fun main(args: Array) {
println("Hello World!")
}
```
--------------------------------
### Install Cargo Edit for Rust
Source: https://docs.serv00.com/Mise
Installs the 'cargo-edit' utility for managing Rust project dependencies. This command executes within the context of the specified Rust toolchain.
```bash
$ mise exec rust@1.76 -- cargo install cargo-edit
```
--------------------------------
### Make Post-Receive Hook Executable
Source: https://docs.serv00.com/Git
After creating the 'post-receive' file, use this command to set the execute permission, allowing it to run.
```bash
chmod +x post-receive
```
--------------------------------
### List Available DNS Templates Command
Source: https://docs.serv00.com/DNS_configuration
Displays a list of pre-defined DNS templates that can be applied to a domain.
```bash
devil dns templates
```
--------------------------------
### Limit Concurrency for Pip Installations
Source: https://docs.serv00.com/Python
When installing packages with pip, if you encounter issues related to system process limits, set MAX_CONCURRENCY and CPUCOUNT to 1, and use MAKEFLAGS to limit parallel jobs to 1.
```bash
export MAX_CONCURRENCY=1
export CPUCOUNT=1
export MAKEFLAGS "-j1"
```
--------------------------------
### List available PHP CLI binaries
Source: https://docs.serv00.com/PHP
Shows the available PHP Command Line Interface (CLI) binaries on the server, allowing direct execution of specific versions.
```bash
$ php
$ php56
$ php70
$ php71
$ php72
$ php73
$ php74
$ php80
$ php81
$ php82
$ php83
$ php84
```
--------------------------------
### Manage WordPress Plugins
Source: https://docs.serv00.com/WP-CLI
Installs, uninstalls, activates, or deactivates WordPress plugins.
```bash
wp plugin install/uninstall PLUGIN_NAME
```
```bash
wp plugin activate/deactivate PLUGIN_NAME
```
--------------------------------
### Download Redis Configuration File
Source: https://docs.serv00.com/Redis
Use this command to download the default Redis configuration file.
```bash
fetch https://raw.githubusercontent.com/redis/redis/8.0.3/redis.conf
```
--------------------------------
### Rebuild Gems with RVM
Source: https://docs.serv00.com/RVM
Reinstalls all gems to their pristine state. Use this command to clean up gem installations.
```bash
gem pristine --all
```
--------------------------------
### Create New Django Project
Source: https://docs.serv00.com/Django
Use these commands to create a new Django project in the specified directory. Ensure the project name matches the directory name if it differs from 'public_python'.
```bash
cd /usr/home/LOGIN/domains/DOMAIN/
rm -r public_python
django-admin.py startproject public_python
```
--------------------------------
### Get Current Directory on SFTP Server (UNIX)
Source: https://docs.serv00.com/SFTP
Displays the current working directory on the remote SFTP server.
```bash
pwd
```
--------------------------------
### Import MySQL Database
Source: https://docs.serv00.com/MySQL
Use this command to import a database from a SQL file. Ensure the database and user are correctly specified.
```bash
mysql --host mysqlX.serv00.com --user DATABASE_USER -p DATABASE_NAME < MY_COPY.sql
```
--------------------------------
### Download WildFly
Source: https://docs.serv00.com/WildFly
Download the WildFly distribution. Replace X with the desired WildFly version.
```bash
fetch -o wildfly.tar.gz http://download.jboss.org/wildfly/X.Final/wildfly-X.Final.tar.gz
```
--------------------------------
### Login to Server (Unix)
Source: https://docs.serv00.com/Login_with_key
After copying your public key, use this command to log in to the server using your SSH key.
```bash
ssh LOGIN@SERVER
```
--------------------------------
### Reinstall Rust with Mise
Source: https://docs.serv00.com/Mise
Reinstalls a specific version of Rust using Mise. This ensures a clean installation of the Rust toolchain.
```bash
$ TMPDIR=~/.tmp mise reinstall rust@1.76
```
--------------------------------
### List WWW Certificates
Source: https://docs.serv00.com/SSL
Run this command to view a list of all SSL certificates currently configured for WWW websites.
```bash
devil ssl www list
```
--------------------------------
### Reinstall Node.js with Mise
Source: https://docs.serv00.com/Mise
Reinstalls a specific version of Node.js using Mise. This can help resolve issues with corrupted installations.
```bash
$ TMPDIR=~/.tmp mise reinstall node@22
```
--------------------------------
### Create New Catalyst Project
Source: https://docs.serv00.com/Catalyst
Use this command to generate a new Catalyst project structure. Navigate into the created project directory and run 'perl Makefile.PL' to set up the project.
```bash
catalyst.pl PROJECT
```
--------------------------------
### Sieve Comments
Source: https://docs.serv00.com/Sieve
Sieve supports both single-line comments starting with '#' and block comments enclosed in '/* */'. These comments are ignored by the parser.
```sieve
# A one-line comment from '#' to the end of the line. The content is ignored by the Sieve parser.
/* Block comment
* All lines are ignored from the moment the comment starts with '/*',
* until the end of the comment with a string */
```
--------------------------------
### Enable PostgreSQL Extension
Source: https://docs.serv00.com/PostgreSQL
Enable a specific extension for a PostgreSQL database. Ensure the extension is available in the list.
```bash
devil pgsql extensions DATABASE_NAME EXTENSION
```
--------------------------------
### Example: Delete Specific Record
Source: https://docs.serv00.com/DNS_configuration
Demonstrates how to delete a specific DNS record using its ID, which can be obtained from the 'devil list' command.
```bash
devil dns del example.com 12345
```
--------------------------------
### Enable 2FA via Devil Command-Line
Source: https://docs.serv00.com/Two-factor_authentication
Use this command to activate two-factor authentication using the Devil CLI. You will need to enter the generated private key into your authenticator app or scan the QR code.
```bash
devil 2fa on
```
--------------------------------
### Reinstall Python with Mise
Source: https://docs.serv00.com/Mise
Reinstalls a specific version of Python using Mise. This command is useful for clearing caches or resolving installation issues.
```bash
$ TMPDIR=~/.tmp mise reinstall python@3.13
```
--------------------------------
### List Processes
Source: https://docs.serv00.com/Useful_commands
Displays a detailed list of all running processes on the system, including user, PID, CPU/memory usage, and command.
```bash
$ ps aux
```
--------------------------------
### Create Symbolic Links for Dependencies
Source: https://docs.serv00.com/AdminMongo
Creates symbolic links for Bootstrap, jQuery, and Font Awesome to be used by AdminMongo.
```bash
ln -s ~/domains/domain/node_modules/bootstrap/dist public_nodejs/public/bootstrap
ln -s ~/domains/domain/node_modules/jquery/dist public_nodejs/public/jquery
ln -s ~/domains/domain/node_modules/font-awesome public_nodejs/public/font-awesome
```
--------------------------------
### Filter URLs in SpamAssassin
Source: https://docs.serv00.com/SpamAssassin
Assign extra spam points to messages containing a specific URL pattern. This example blocks advertising content.
```plaintext
uri LOCAL_URI_EXAMPLE /www\.domain\.com\/ads\//
```
```plaintext
score LOCAL_URI_EXAMPLE 5
```
--------------------------------
### Sieve Vacation Auto-Reply
Source: https://docs.serv00.com/Sieve
Configure an automatic vacation reply for specific email addresses. This example limits replies to once per day per recipient.
```sieve
require ["vacation"];
vacation
# Send maximum once a day to the same recipient
:days 1
:subject "Out of Office - Automatic Reply"
:addresses ["john.smith@domain", "j.smith@domain"]
"Good morning,
I am out of office, please contact Adam Smith - adam.smith@domain.
Regards,
John Smith";
```
--------------------------------
### Create Symbolic Link for Static Files
Source: https://docs.serv00.com/Catalyst
After creating a new Catalyst project, create a symbolic link for static files to serve them correctly. Replace LOGIN and DOMAIN with your specific user and domain names.
```bash
ln -s /usr/home/LOGIN/domains/DOMAIN/PROJECT/root/static /usr/home/LOGIN/domains/DOMAIN/public_html/public
```
--------------------------------
### Filter Message Body Content in SpamAssassin
Source: https://docs.serv00.com/SpamAssassin
Assign extra spam points to messages containing a specific string. This example searches for the word 'test'.
```plaintext
body LOCAL_DEMONSTRATION_RULE /test/
```
```plaintext
score LOCAL_DEMONSTRATION_RULE 3
```
```plaintext
describe LOCAL_DEMONSTRATION_RULE Test rule
```
--------------------------------
### Configure WildFly Auto-Startup
Source: https://docs.serv00.com/WildFly
Add a cron job to automatically restart WildFly after a server reboot. Replace ${USER} with your username.
```bash
echo @reboot /usr/local/bin/bash /home/${USER}/wildfly/bin/standalone.sh | crontab -
```
--------------------------------
### Run Memcached with Specific Memory Size
Source: https://docs.serv00.com/Memcached
Configure Memcached to use a specific amount of memory. This example sets the memory limit to 32 megabytes.
```bash
memcached -m 32
```
--------------------------------
### Sieve Script with Basic Rules
Source: https://docs.serv00.com/Sieve
This snippet demonstrates the basic structure of a Sieve script, including module requirements and conditional logic for message handling. It shows how to reject messages over a certain size.
```sieve
require ["fileinto", "reject", "vacation", "regex", "relational", "comparator-i;ascii-numeric"];
if size :over 1024K {
reject "Message undelivered. Too large.";
stop;
}
```
--------------------------------
### Run Memcached for Testing (Verbose)
Source: https://docs.serv00.com/Memcached
Run Memcached with verbose output for testing purposes. This will not run the application in the background.
```bash
memcached -vv
```
--------------------------------
### Create WildFly User
Source: https://docs.serv00.com/WildFly
Run the add-user.sh script to create a new user for WildFly.
```bash
wildfly/bin/add-user.sh
```
--------------------------------
### Add Let's Encrypt Certificate via Devil Command
Source: https://docs.serv00.com/SSL
Use this command to generate and add a Let's Encrypt certificate for a website. Ensure the domain points to the correct IP address.
```bash
devil ssl www add IP_ADDRESS le le DOMAIN_NAME
```
--------------------------------
### List MySQL Databases and Users
Source: https://docs.serv00.com/MySQL
Retrieves a list of all MySQL databases and users. Use the '-v' flag to also display user permissions.
```bash
devil mysql list [-v]
```
--------------------------------
### WordPress Installation File Management
Source: https://docs.serv00.com/WordPress
This command sequence removes the default public_html directory, unpacks the WordPress archive, renames the extracted folder to public_html, and then deletes the zip file.
```bash
rm -r public_html && unzip latest.zip && mv wordpress public_html && rm latest.zip
```
--------------------------------
### Set Outgoing Mail IP Address
Source: https://docs.serv00.com/Mail
Configures the IP address used for sending outgoing emails. Requires prior setup including DNS and SPF record modifications.
```bash
devil mail options DOMAIN outgoingip IP|default
```
--------------------------------
### List available PHP CGI/FCGI binaries
Source: https://docs.serv00.com/PHP
Displays the available Common Gateway Interface (CGI) and FastCGI binaries for various PHP versions, used for web server integration.
```bash
$ php-cgi
$ php56-cgi
$ php70-cgi
$ php71-cgi
$ php72-cgi
$ php73-cgi
$ php74-cgi
$ php80-cgi
$ php81-cgi
$ php82-cgi
$ php83-cgi
$ php84-cgi
```
--------------------------------
### SSH Tunneling for PostgreSQL Remote Access
Source: https://docs.serv00.com/PostgreSQL
Set up SSH tunneling to access a PostgreSQL server remotely. This example forwards the remote PostgreSQL port (5432) to a local port (8543).
```bash
ssh -f LOGIN@sX.serv00.com -L 8543:pgsqlX.serv00.com:5432 -N
```
```bash
psql -h localhost -p 8543 -U POSTGRESQL_USER -W
```
--------------------------------
### Get Google Server IPs
Source: https://docs.serv00.com/Mail
Retrieve Google server IP addresses for use in mail configurations, particularly when sending/receiving mail via Gmail. This command uses 'dig' to query DNS records.
```bash
dig +short txt _netblocks.google.com _netblocks3.google.com _netblocks4.google.com
```
--------------------------------
### Add FTP Account with Devil CLI
Source: https://docs.serv00.com/FTP
Use this command to add a new FTP user, specifying their username, the directory they will have access to, and their disk space quota. A quota of 0 indicates unlimited space. The system will prompt for password confirmation.
```bash
$ devil ftp add newuser /usr/home/LOGIN/docs 0
Password:
Confirm password:
User added correctly
Login: f1064_newuser
Server: ftps://s0.serv00.com
Password: ********
```
--------------------------------
### Set ExpiresByType Based on File Modification Time
Source: https://docs.serv00.com/htaccess
An alternative to 'access plus' for ExpiresByType, this example sets cache expiration based on the file's modification time. PNG files will expire one year after modification.
```apache
ExpiresByType image/png "modification plus 1 year"
```
--------------------------------
### Deploy WAR File using JBoss CLI
Source: https://docs.serv00.com/WildFly
Deploy a WAR file to WildFly using the JBoss CLI. Provide the path to the WAR file.
```bash
[standalone@localhost:NUM1 /] deploy [path_to_file.war]
```
--------------------------------
### Set Tomcat Environment Variables
Source: https://docs.serv00.com/Tomcat
Configures the base directory for Tomcat and sets JVM memory limits using CATALINA_OPTS. Replace LOGIN with your hosting account login.
```bash
CATALINA_BASE="/usr/home/LOGIN/apache-tomcat"
CATALINA_OPTS='-Xms512m -Xmx1024m'
```
--------------------------------
### Combine Intermediate Certificates (Windows)
Source: https://docs.serv00.com/SSL
On Windows, combine your domain certificate and intermediate certificates by pasting their contents into a new text file. Save the file with a .crt extension.
```text
Paste contents of domain certificate and intermediate certificates here in the correct order.
```
--------------------------------
### Run Kotlin Application
Source: https://docs.serv00.com/Kotlin
Execute the compiled Kotlin application (JAR file) using the Java runtime.
```bash
java -jar hello.jar
```
--------------------------------
### List All Domains Command
Source: https://docs.serv00.com/DNS_configuration
Retrieves a list of all domains managed within the DNS zone.
```bash
devil dns list
```
--------------------------------
### Configure Django Static and Media Files
Source: https://docs.serv00.com/Django
Configure Django settings for static and media file URLs and root directories. Ensure STATIC_ROOT and MEDIA_ROOT are correctly set to the public directory for static file handling. After configuration, run 'python manage.py collectstatic'.
```python
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
# The BASE_DIR variable should be created by Django in the settings.py file
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'public', 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'public', 'media')
# or
# STATIC_ROOT = '/home/LOGIN/domains/DOMAIN/public_python/public/static/'
# MEDIA_ROOT = '/home/LOGIN/domains/DOMAIN/public_python/public/media/'
```
--------------------------------
### Add an Email Account
Source: https://docs.serv00.com/Mail
Use this command to add a new email account. You will be prompted for a password after execution.
```bash
devil mail account add MAIL_ADDRESS
```
--------------------------------
### List Git Repositories via Devil CLI
Source: https://docs.serv00.com/Git
Lists all Git repositories managed by the devil CLI.
```bash
devil repo list
```
--------------------------------
### Connect to WildFly CLI
Source: https://docs.serv00.com/WildFly
Connect to the WildFly server using the JBoss CLI. Replace NUM1 with the management HTTP port.
```bash
$ wildfly/bin/jboss-cli.sh
connect localhost:NUM1
```
--------------------------------
### Configure SDKMAN Environment
Source: https://docs.serv00.com/Kotlin
Add SDKMAN to your bash profile to enable its commands. Source the profile to apply changes.
```bash
echo 'export SDKMAN_DIR="$HOME/.sdkman" [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"' >> $HOME/.bash_profile && source $HOME/.bash_profile
```