Whmapi1 Commands
WhmApi commands¶
- enable ssh
-
get feature list
-
change cpanel hostname
exclude domain from auto_ssl¶
Change Server hostname¶
Display mysqlusers¶
whmapi1 --output=jsonpretty list_mysql_databases_and_users user='cpanel_user'
```
## Create bulk parked domains for cpuser
[DOCS](https://api.docs.cpanel.net/openapi/whm/operation/create_parked_domain_for_user/)
```bash
for domain in $(cat list_parked);do whmapi1 create_parked_domain_for_user domain=$domain username=vmin web_vhost_domain=python.vladmin-dev.top;done
```
- File Content creation
```bash
for i in {1..100};do echo parked$i.python.vladmin-dev.top >> list_parked;done
```
- File format
```
parked94.python.vladmin-dev.top
parked95.python.vladmin-dev.top
parked96.python.vladmin-dev.top
parked97.python.vladmin-dev.top
parked98.python.vladmin-dev.top
parked99.python.vladmin-dev.top
parked100.python.vladmin-dev.top
Account Summary whm¶
Create sub domains¶
- With the same format file
for sub in $(cat list_subdomains);do whmapi1 create_subdomain domain="$sub" document_root="public_html/$sub";done
- Print all sub domains from the main file
- Print all parked domains with -B before for grep
- Create login with the IP and preferred domain
reset dns zones¶
for i in $(ls -1 /var/named/*.db | awk -F '\/' '{print $NF}');do whmapi1 --output=jsonpretty resetzone zone=$i;done
mass edit dns zone¶
- Add a Recird
Dump DNS zone to get Serial¶
whmapi1 --output=jsonpretty dumpzone domain='vladmin-dev.top' | jq -r '.data.zone[0].record[] | select(.type=="SOA") | .serial'
- Files
-
Disable
-
Test WHM API Tokens
-
Veryfu cluster reverse trust.
Linux Boot Process¶
- BIOS - Basic Input/Output System
- MBR=Master boot record the first sector on the Hard Drive
- GRUB2 - Grand Unified Boot Loader v2- Loads Linux /boot/grub2/grub.cfg
- Kernel - Core of the Operating System - Starts the systemd
-
SystemD initialization- Reads /etc/systemd/system/default.target file
-
Selecting Targer (Run Level)
-
Graphical Target ( UI Login for multiple users)
- multi-user.targer (multiple users only text based login)
- rescue.targer sulogin porompt, bashrc system initialization completed.
- Emergency.target sulogin prompt, initramfs, dracut,etc
- Check default target
ls -l /lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 Mar 10 02:00 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Mar 10 02:00 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Mar 10 02:00 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 10 02:00 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 10 02:00 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Mar 10 02:00 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Mar 10 02:00 /lib/systemd/system/runlevel6.target -> reboot.target
-
Recover root password
-
Then chroot to mount the filesystem
-
Change root password
-
For Selinux. Upate info before rebooting
Repair filesystem corruption¶
Eclude domain from auto_ssl¶
- Tweak settings set/get. The keys are in /var/cpanel/cpanel.config. Set works with value=$val
whmapi1 --output=jsonpretty set_tweaksetting key='php_upload_max_filesize' value=200
{
"metadata" : {
"command" : "set_tweaksetting",
"reason" : "OK",
"result" : 1,
"version" : 1
}
}
Cpapi2¶
- Create Subdomain
Package management¶
- Change user package-
Create Account
-
Destination backup list
-
List backup dates
-
Destination validate
-
Cphulk config
- get public and private ip