Welcome to the Ajenti Idea Exchange. It's your chance to collaborate with our team and other users to influence the future of Ajenti! Ideas appreciated.
Pause button for Log viewing
I find it extremely useful and absolutely crucial for viewing a range of system logs within Ajenti on a server I manage.
When viewing logs withing Ajenti, I find it great that I can watch the logs in real-time and constantly updating. However, there are lots of occasions that I would like to be able to Pause the stream of log entries to read it in more detail.
Would it be possible to add a Pause button to log viewing?
Webserver chroot Jail
Hi,
after installing agenti v, i try to check security level of my webserver .. but i found:
+ all website folder created with www-data user.
+ if someone upload shell can list files of all websites.
i try to change website process user from PHP FPM .. it's work but if any hacker upload a shell he can explore all server files.
so if there is any methode to creat a chroot jail like in cpanel to fix this problem.
thanks
cant use https/have to disable SSL
So i got a new install on 14.04 and i cant login using the HTTPS way, i have to disable the SSL in the config.json so i can only login trough the the HTTP way.
On an earlier installation i managed to get it working, but i cant remember what i did anymore(installing 4 different python packages)
So i rather not have my things send in plain text, is there a way to resolve this?
Ajenti not accessible on Port 8000
I have an Ajenti installation on a dedicated server on my home network, which is portforwarded to Port 8000. Using canyouseeme.org, the port shows as open, however when I try to access it using the IP address, https and port, it tells me that a connection could not be established. A friend tried connecting to it, and the same error occurred. The IP address can be connected to fine on port 80 and all sites work. Any fixes you know of?
cant modify firewall
every time i click the firewall tab i get this:
Crashed u'fail2ban-courierauth' Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/ajenti/plugins/main/main.py", line 158, in handle_message self.ui.dispatch_event(update['uid'], update['event'], update['params']) File "/usr/lib/pymodules/python2.7/ajenti/ui/__init__.py", line 72, in dispatch_event self.root.dispatch_event(uid, event, params) File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 382, in dispatch_event if child.dispatch_event(uid, event, params): File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 378, in dispatch_event self.event(event, params) File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 402, in event getattr(self, 'on_%s' % self_event)(**(params or {})) File "/usr/lib/pymodules/python2.7/ajenti/plugins/main/main.py", line 381, in on_switch child.broadcast('on_page_load') File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 356, in broadcast getattr(self, method)(*args, **kwargs) File "/usr/lib/pymodules/python2.7/ajenti/plugins/iptables/main.py", line 149, in on_page_load self.config.load() File "/usr/lib/pymodules/python2.7/reconfigure/configs/base.py", line 46, in load self.nodetree = self.parser.parse(self.content) File "/usr/lib/pymodules/python2.7/reconfigure/parsers/iptables.py", line 37, in parse chains[chain].append(node) KeyError: u'fail2ban-courierauth'here's the problem, Fail2Ban isnt running. i was having so many issues with the firewall i decided not to further complicate it with Fail2Ban, so i set all to sections to false in Fail2Ban and yet i still get this.
What the heck is going on and when can we expect to see it fixed?
My custom Plugin not working
I wrote a test plugin based on Ajenti dev doc, but it look like not working correctly. I have an add button, but when I click on it, nothing happen (it should pop an entry)
#main.py from ajenti.api import * from ajenti.ui.binder import Binder import logging from ajenti.plugins.main.api import SectionPlugin class JungleCreature(object): def __init__(self, name): self.name = name @plugin class Jungle (SectionPlugin): def init(self): self.title = _('Jungle') self.icon = 'globe' self.category = _('System') #self.jc = JungleCreature("Bot name", "config") self.append(self.ui.inflate('jungle:main')) self.find('jc').new_item = lambda c: JungleCreature('animal name') self.binder = Binder(None, self.find('3Dapp')) self.refresh() def refresh(self): self.binder.update() self.binder.setup(self).populate() def on_page_load(self): self.refresh() |
#init.py from ajenti.api import * from ajenti.plugins import * info = PluginInfo( title='Jungle', icon=None, dependencies=[ PluginDependency('main'), PluginDependency('services'), ], ) def init(): import main |
#main.xml layout <body> <pad id="3Dapp" binder:context="3D App"> <label text="3D App" stype="bold"/> <formline> <button icon="plus" style="mini" bind="__add" /> <bind:collection bind="jc" id="jc"> <dt bind="__items" width="300"> <dtr header="True"> <dth text="Name" /> </dtr> </dt> <bind:template> <dtr> <dtd><textbox bind="name" /></dtd> </dtr> </bind:template> </bind:collection> </formline> </pad> <button id="save" text="{Save}" icon="ok" /> </body> |
Restrict Cron access for the user
If there a way to restrict this user to create crons for his account only and not able to see/edit/modify any other user's cron?
Better explanation of cron?
I am looking at the cron plugin and trying to figure out how to see the current cron tasks, but I can't. If I am in cron.daily, there are plenty of them.
I am wondering what the cron tab does in relation to the other cron files.
cron.daily, cron.weekly and similar files are part of Anacron package (see http://en.wikipedia.org/wiki/Anacron). Ajenti's Cron plugin can only be used to edit "native" Cron tabs, located in /var/spool/cron/crontabs
Ajenti-v crash when editing server blocks
I have noticed that some sites redirect to one another. Sites-enabled and sites-available folders are missing.
The website configuration settings are all still correct in ajenti.
Is there some way the nginx configs can be regenerated from settings in ajenti?
What happened to the configs in the first place?
Below is the crash output:
Ajenti bug report
--------------------
Info | Value
----- | -----
Ajenti | 1.2.22.17
Platform | debian / ubuntu / Ubuntu 14.04.1 LTS
Architecture | x86_64 x86_64
Python | 2.7.6
Installation | 58479676
Debug | False
Catcher report | http://ajenti.org/catcher/view/69773
Loaded plugins | ajenti_org, codemirror, configurator, cron, dashboard, db_common, fail2ban, fm, fstab, hosts, iptables, logs, main, memcache, mysql, network, nginx, notepad, packages, plugins, power, resolv, resources, scripts, sensors, services, supervisor, taskmgr, tasks, terminal, uname, users, vh, vh-mysql, vh-nginx, vh-php-fpm, webserver_common
Library | Version
------- | -------
gevent | 1.0
greenlet | 0.4.2
reconfigure | 0.1.65
requests | 2.2.1
psutil | 1.2.1
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/ajenti/plugins/main/main.py", line 158, in handle_message
self.ui.dispatch_event(update['uid'], update['event'], update['params'])
File "/usr/lib/pymodules/python2.7/ajenti/ui/__init__.py", line 72, in dispatch_event
self.root.dispatch_event(uid, event, params)
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 382, in dispatch_event
if child.dispatch_event(uid, event, params):
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 382, in dispatch_event
if child.dispatch_event(uid, event, params):
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 388, in dispatch_event
getattr(self, k)(**(params or {}))
File "/var/lib/ajenti/plugins/vh/main.py", line 257, in save
self.manager.update_configuration()
File "/var/lib/ajenti/plugins/vh/api.py", line 301, in update_configuration
self.webserver.create_configuration(self.config)
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 154, in create_configuration
.write(self.__generate_website_config(website))
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 134, in __generate_website_config
) if not website.maintenance_mode else '',
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 133, in <genexpr>
'\n'.join(self.__generate_website_location(website, location) for location in website.locations)
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 49, in __generate_website_location
'autoindex': 'autoindex on;' if params['autoindex'] else '',
KeyError: 'autoindex'
Ajenti behind Apache
Hello.
I am trying to setup ajenti with apache so I can acces it with an address like https://ajenti.domain.com. My seahub is running on port 8000.
I tried to setup the following virtualhost:
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName ajenti.domain.com
ServerAlias domain.com
ProxyPass / http://localhost:8000
ProxyPassReverse / http://localhost:8000
SSLEngine On
</VirtualHost>
Obviously, I'm a newbie with Apache and it doesn't work. Anyone could help me ?
By the way, ajenti is really a great tool and has a lot of potential.
Thanks ;-)
Customer support service by UserEcho