Archive for the tag 'server'

MySQL Server and Server-Startup Programs

mysqld — The MySQL Server

mysqld_safe — MySQL Server Startup Script

mysql.server — MySQL Server Startup Script

mysqld_multi — Manage Multiple MySQL Servers

The mysqld program has many options that can be specified at startup. For a complete list of options, run this command:

shell> mysqld –verbose –help
SBDavid

The Squid Proxy Server module

The Squid Proxy Server module

If you want to set up or configure Squid from within Webmin, you will need to use the Squid Proxy Server module, found under the Servers category.

If you have not configured or started Squid on your system before, the cache directory has probably not been set up yet. The module will detect this and display a message like *Your Squid cache directory /var/spool/squid has not been initialized* above the table of icons. To initialize the cache, follow these steps :

If you are unhappy with the displayed cache directory, now is the time to change it.
Follow the instructions in the Adding cache directories section to define your own directories before continuing.

In the as Unix user field enter the name of the user who will own the cache files and who the daemon process will run as.

Typically this will be a special squid user created for the purpose (and the field will default to squid if such a user exists), but in fact any user will do.

I recommend using the Users and Groups module to create a user called squid whose home directory is the cache directory if needed though.

Click the Initialize Cache button.

The Squid configuration will be updated to use your chosen username, and the command squid -z will be run to set up the cache directories.

All output that it produces will be displayed so that you can see how the initialization is progressing.

When the process is complete, return to the module’s main page and the error message should have disappeared.

If Squid is not installed at all on your system (or installed in a different location to the one Webmin expects), an error message like The Squid config file /etc/squid.conf does not exist will appear on the main page instead of the table of icons.

If you really do have it installed, read the *Configuring the Squid Proxy Server module* section for instructions on how to change the paths the module uses.

On the other hand, if it really is not installed you should use the Software Packages module (covered on SoftwarePackages) to install the squid package from your Linux distribution CD or website.

If no such package exists for your operating system, you will need to download, compile and install the latest version of Squid from www.squid-cache.org. As long as you have a compiler installed on your system, this is a relatively simple process with no dependencies.

Once the server is installed, if you want to make use of it in the long term you should arrange to have it started at boot time, using the Bootup and Shutdown module (which chapter 9 explains how to use). All Linux packages include a bootup action script for Squid, although it may be disabled by default thus requiring you to enable it in that module.

Otherwise you will need to create an action that runs a command like =/usr/local/squid/bin/squid -sY=, assuming that you have Squid installed in /usr/local/squid.

How can I create a Webmin user who can only configure one Apache virtual server or DNS domain?

In the Webmin Servers module.

Create a new user and give him access to only the Apache Webserver module.

After saving, click on Apache Webserver next to the user’s name in the list of Webmin users and use the form that appears to deny him access to everything except one selected virtual server.

Many other modules can also be configured in a similar way to restrict the access of a user to only certain DNS domains, Unix users or mail aliases.

How to limit server resource allocation to system users

The file /etc/security/limits.conf, contains the various limits for users or groups that can be set. In this case, we set the max locked-in-memory address space, memlock (KB). For example, if user bob needed to have a hard limit of 512 MB of RAM, then add in the following line:

‘domain’     ‘type’      ‘item’         ‘value’
buddy        hard       memlock     524288

Where domain can be

1. an user name
2. a group name, with @group syntax
3. the wildcard *, for default entry
4. the wildcard %, can be also used with %group syntax, for maxlogin limit

The “type” can have following two values

1. “soft” for enforcing the soft limits
2. “hard” for enforcing hard limits

The “item” can be one of the following values

1. core - limits the core file size (KB)
2. data - max data size (KB)
3. fsize - maximum filesize (KB)
4. memlock - max locked-in-memory address space (KB)
5. nofile - max number of open files
6. rss - max resident set size (KB)
7. stack - max stack size (KB)
8. cpu - max CPU time (MIN)
9. nproc - max number of processes
10. as - address space limit
11. maxlogins - max number of logins for this user
12. priority - the priority to run user process with
13. locks - max number of file locks the user can hold
SBDavid

Hide apache web server version

Hide apache web server version

It is possible to hide apache web server version and other information. This is done for security reasons. It is not a good idea to broadcast the version of the software that you are running on the server. You should have noticed the following details(or something similar) when an error page is displayed.

Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.8b mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.6 Server at XXX.com Port 80

Add/Edit the two entries in the apache configuration file(httpd.conf)

ServerSignature Off
ServerTokens Prod

ServerSignature Off : tells apache not to display the server version on error pages, or other pages it generates.
ServerTokens Prod : tells apache to only return Apache in the Server header, returned on every page request.

Restart the webserver.

$ service httpd restart

« Prev - Next »