123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <!DOCTYPE html>
- <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Installing Ajenti Web Administration Panel</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta charset="UTF-8">
- <meta name="keywords" content="Browser Based,Home Lab,Home Lab Ideas,Install Guide,Self-Hosted,Web Based,Web Based Tools,Administration,Browser Based SSH,Browser Based Tools,Debian,Free Software,Freeware,Linux,Server Administration,System Administration,System Administrator,Ubuntu,Web Tools,Ajenti,Ajenti Web Panel,How To,Tutorial,i12bretro">
- <meta name="author" content="i12bretro">
- <meta name="description" content="Installing Ajenti Web Administration Panel">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="revised" content="08/20/2023 06:50:38 PM" />
- <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
- <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
- <script type="text/javascript" src="includes/js/steps.js"></script>
- <link href="css/steps.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="gridContainer">
- <div class="topMargin"></div>
- <div id="listName" class="topMargin">
- <h1>Installing Ajenti Web Administration Panel</h1>
- </div>
- <div></div>
- <div id="content">
- <h2>What is Ajenti?</h2>
- <blockquote><em>[Ajenti is] an admin's tool for a more civilized age, providing you with a fast and secure way to manage a remote Linux box at any time using everyday tools like a web terminal, text editor, file manager and others.-<a href="https://ajenti.org/" target="_blank">https://ajenti.org/</a></em></blockquote>
- <ol>
- <li>Log into the Linux device</li>
- <li>Run the following commands in a terminal:
- <div class="codeBlock"># update software repositories<br />
- sudo apt update<br />
- # install software updates<br />
- sudo apt upgrade -y<br />
- # install pre-requisites<br />
- sudo apt install build-essential python3-pip python3-dev python3-lxml python3-dbus python3-augeas libssl-dev python3-apt ntpdate -y<br />
- # upgrade pip<br />
- sudo pip3 install setuptools pip wheel -U<br />
- # install ajenti<br />
- sudo pip3 install ajenti-panel ajenti.plugin.ace ajenti.plugin.augeas ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.datetime ajenti.plugin.filemanager ajenti.plugin.filesystem ajenti.plugin.network ajenti.plugin.notepad ajenti.plugin.packages ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.power ajenti.plugin.services ajenti.plugin.settings ajenti.plugin.terminal<br />
- # create and edit ajenti.service<br />
- sudo nano /lib/systemd/system/ajenti.service</div>
- </li>
- <li>Paste the following configuration into the service file
- <p>[Unit]<br />
- Description=Ajenti panel<br />
- After=network.target<br />
- <br />
- [Service]<br />
- Type=forking<br />
- PIDFile=/var/run/ajenti.pid<br />
- ExecStart=/usr/bin/python3 /usr/local/bin/ajenti-panel -d<br />
- ExecStartPost=/bin/sleep 5<br />
- <br />
- [Install]<br />
- WantedBy=multi-user.target</p>
- </li>
- <li>Press CTRL+O, Enter, CTRL+X to write the changes</li>
- <li>Continue with the following commands:
- <div class="codeBlock"># reload daemons<br />
- sudo systemctl daemon-reload<br />
- # enable and start ajenti service<br />
- sudo systemctl enable ajenti --now<br />
- # set the PANEL variable<br />
- PANEL=$(which ajenti-panel)<br />
- # create and edit the initscript<br />
- sudo nano /etc/init.d/ajenti</div>
- </li>
- <li>Paste the following into the init file
- <p>#!/bin/sh<br />
- <br />
- ### BEGIN INIT INFO<br />
- # Provides: ajenti<br />
- # Required-Start: $network $syslog $local_fs<br />
- # Required-Stop: $network $syslog $local_fs<br />
- # Should-Start: $local_fs<br />
- # Should-Stop: $local_fs<br />
- # Default-Start: 2 3 4 5<br />
- # Default-Stop: 0 1 6<br />
- # Short-Description: Ajenti<br />
- # Description: Ajenti administration frontend<br />
- ### END INIT INFO<br />
- <br />
- if [ -e /lib/lsb/init-functions ]; then<br />
- . /lib/lsb/init-functions<br />
- <br />
- log_success() {<br />
- log_success_msg "\$1"<br />
- }<br />
- <br />
- log_failure() {<br />
- log_failure_msg "\$1"<br />
- }<br />
- else<br />
- . /etc/rc.d/init.d/functions<br />
- <br />
- log_success() {<br />
- echo_success<br />
- echo "\$1"<br />
- }<br />
- <br />
- log_failure() {<br />
- echo_failure<br />
- echo "\$1"<br />
- }<br />
- fi<br />
- <br />
- NAME=Ajenti<br />
- PIDFILE=/var/run/ajenti.pid<br />
- <br />
- case "\$1" in<br />
- start)<br />
- echo "Starting \$NAME:"<br />
- export LC_CTYPE=en_US.UTF8<br />
- <br />
- if pidofproc -p \$PIDFILE \$PANEL > /dev/null; then<br />
- log_failure "already running"<br />
- exit 1<br />
- fi<br />
- if \$DAEMON -d ; then<br />
- log_success "started"<br />
- else<br />
- log_failure "failed"<br />
- fi<br />
- ;;<br />
- stop)<br />
- echo "Stopping \$NAME:"<br />
- if pidofproc -p \$PIDFILE \$PANEL > /dev/null; then<br />
- killproc -p \$PIDFILE \$PANEL<br />
- /bin/rm -rf \$PIDFILE<br />
- log_success "stopped"<br />
- else<br />
- log_failure "not running"<br />
- fi<br />
- ;;<br />
- restart)<br />
- \$0 stop && sleep 2 && \$0 start<br />
- ;;<br />
- status)<br />
- if pidofproc -p \$PIDFILE \$PANEL > /dev/null; then<br />
- log_success "\$NAME is running"<br />
- else<br />
- log_success "\$NAME is not running"<br />
- fi<br />
- ;;<br />
- *)<br />
- echo "Usage: \$0 {start|stop|restart|status}"<br />
- exit 1<br />
- esac<br />
- <br />
- exit 0</p>
- </li>
- <li>Press CTRL+O, Enter, CTRL+X to write the changes</li>
- <li>Continue with the following commands:
- <div class="codeBlock"># make the init script executable<br />
- sudo chmod +x /etc/init.d/ajenti<br />
- # run the init script<br />
- sudo /etc/init.d/ajenti start</div>
- </li>
- <li>Open a web browser and navigate to http://DNSorIP:8000</li>
- <li>Login with the username root and the root Linux password</li>
- <li>Welcome to Ajenti</li>
- </ol>
- <p>Source: <a href="http://docs.ajenti.org/en/latest/man/install.html" target="_blank">http://docs.ajenti.org/en/latest/man/install.html</a></p> </div>
- </div>
- </body>
- </html>
-
|