LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 04-11-2006, 01:08 AM   #1
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Rep: Reputation: 6
SuSe Apache2 error: cannot adjust 'apache2' service


I've been getting this error pretty much immediately after installing and trying to run apache through the control panel (I did do a forum search, but all older threads discussing this problem are about SuSe 9.3, I am using 10.0).
The error log file is filled with errors like:

Quote:
[Mon Apr 10 22:03:07 2006] [error] [client 127.0.0.1] Directory index forbidden by rule: /srv/www/htdocs/
[Mon Apr 10 22:03:07 2006] [error] [client 127.0.0.1] File does not exist: /srv/www/htdocs/favicon.ico
[Mon Apr 10 22:03:10 2006] [error] [client 127.0.0.1] File does not exist: /srv/www/htdocs/shunt
[Mon Apr 10 22:03:10 2006] [error] [client 127.0.0.1] File does not exist: /srv/www/htdocs/favicon.ico
[Mon Apr 10 22:03:11 2006] [error] [client 127.0.0.1] client denied by server configuration: /home/shunt/public_html
[Mon Apr 10 22:03:11 2006] [error] [client 127.0.0.1] File does not exist: /srv/www/htdocs/favicon.ico
As far as i can check, all those files/folder do exist.
I've read it's most likely an error in the httpd.conf, but I have no idea what it should look like, or what could be wrong with it.
 
Old 04-11-2006, 01:11 PM   #2
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
There must be someone out there that can help out? Im sure more people have had this problem, seeing as this also was a comming problem on 9.3
 
Old 04-11-2006, 04:27 PM   #3
nuro305
Member
 
Registered: Mar 2004
Location: New Mexico
Distribution: FC4, SuSE 9.3 Pro, SuSE 10.1, SLED 10 SDK
Posts: 128

Rep: Reputation: 15
1) is Apache runing? e.g if you go to a browser and type LOCALHOST in the URL field what do you get?

Or, check in YAST > System > SYstem Services and see if the apache2 service is running, if not try and start it there.

2) Your /etc/apache2/httpd.conf file controls the server. Have you edited this file in any way?

Personally I never use the YAST or KDE tools to work on Apache. Modifying the .conf files manually and stopping and restarting Apache from the command line is more reliable in my opinion.
 
Old 04-12-2006, 07:06 AM   #4
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
Starting apache from yast returns the errors I described, what was the command to run from the command line again? I tried it before, but told me i had errors in one of config files (can't remember which, ill quote them here once i know the command). But I never edited any of the config files (only tried to use yast to modify them, which didn't work). Removing and reinstalling apache from yast doesn't work either.

Last edited by sir_shunt; 04-12-2006 at 07:07 AM.
 
Old 04-12-2006, 07:59 AM   #5
muha
Member
 
Registered: Nov 2005
Distribution: xubuntu, grml
Posts: 451

Rep: Reputation: 38
Code:
httpd2 -V
check your apache version and config.

Code:
apache2ctl start
In a konsole (as root): manually starts the apache server; stop for stopping; restart for restarting.

some more info on suse - apache: nerdstuffs
 
1 members found this post helpful.
Old 04-12-2006, 09:20 AM   #6
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
Here we go:
httpd2 -V
Quote:
Server version: Apache/2.0.54
Server built: Feb 1 2006 18:13:06
Server's Module Magic Number: 20020903:9
Architecture: 32-bit
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D HTTPD_ROOT="/srv/www"
-D SUEXEC_BIN="/usr/sbin/suexec2"
-D DEFAULT_PIDLOG="/var/run/httpd2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/accept.lock"
-D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
apache2ctl start
Quote:
Syntax error on line 10 of /etc/apache2/mod_status.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not included in the server configuration
mod_status.conf:
Quote:
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
#
# see http://httpd.apache.org/docs-2.0/mod/mod_status.html
#
<IfModule mod_status.c>
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
</IfModule>
Like i said, I never edited any of these files.
 
Old 04-12-2006, 01:32 PM   #7
muha
Member
 
Registered: Nov 2005
Distribution: xubuntu, grml
Posts: 451

Rep: Reputation: 38
forgot the php modules

You are trying this as root, right?
I have exactly the same in my mod_status.conf for suse 10.0.
Have you changed anything in the setup for apache? Any addition modules, php, perl?
I don't know, but i'm guessing it's your modules. I have in my /etc/sysconfig/apache2
Quote:
# apache's default installation
# APACHE_MODULES="access actions alias asis auth autoindex cgi dir imap include log_config mime negotiation setenvif status userdir"
# your settings
APACHE_MODULES="access actions alias auth autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imap php4 rewrite"
Here are also my results for two other configs that might help (as root):
Code:
rpm -qa |grep apache
apache2-prefork-2.0.54-10.3
apache2-mod_php4-4.4.0-6.8
apache2-2.0.54-10.3
and
Code:
httpd2 -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
The most obvious one is to check /etc/apache2/httpd.conf, i have this (among other stuff)
Code:
# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
Or /etc/apache2/default-server.conf
Post yours if you still have issues ..
Oh yeah, and
Code:
rpm -qa | grep php
php4-devel-4.4.0-6
php4-mysql-4.4.0-6
php4-session-4.4.0-6
apache2-mod_php4-4.4.0-6.8
php4-4.4.0-6.8
php4-zlib-4.4.0-6

Last edited by muha; 04-12-2006 at 01:42 PM.
 
Old 04-12-2006, 01:48 PM   #8
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
httpd.conf
Quote:
#
# /etc/apache2/httpd.conf
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
# the directives.

# Based upon the default apache configuration file that ships with apache,
# which is based upon the NCSA server configuration files originally by Rob
# McCool. This file was knocked together by Peter Poeml <poeml+apache@suse.de>.

# If possible, avoid changes to this file. It does mainly contain Include
# statements and global settings that can/should be overridden in the
# configuration of your virtual hosts.


# Overview of include files, chronologically:
#
# httpd.conf
# |
# |-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under
# |-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, ...)
# |-- sysconfig.d/loadmodule.conf . . . . .[*] load these modules
# |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on
# |-- mod_log_config.conf . . . . . . . . . define logging formats
# |-- sysconfig.d/global.conf . . . . . . .[*] server-wide general settings
# |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)
# |-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info
# |-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking
# |-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings
# |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
# |-- errors.conf . . . . . . . . . . . . . customize error responses
# |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
# |
# |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
# | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
# | `--conf.d/apache2-manual?conf . . . add the docs ('?' = if installed)
# |
# |-- sysconfig.d/include.conf . . . . . .[*] your include files
# | (for each file to be included here, put its name
# | into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
# |
# `-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here
# `-- *.conf . . . . . . . . . . . . . (*.conf is automatically included)
#
#
# Files marked[*] are created from sysconfig upon server restart: instead of
# these files, you edit /etc/sysconfig/apache2



# Filesystem layout:
#
# /etc/apache2/
# |-- conf.d/
# | |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc
# | |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4
# | `-- ... . . . . . . . . . . . . . . . other configuration added by packages
# |-- default-server.conf
# |-- errors.conf
# |-- httpd.conf . . . . . . . . . . . . . top level configuration file
# |-- listen.conf
# |-- magic
# |-- mime.types -> ../mime.types
# |-- mod_autoindex-defaults.conf
# |-- mod_info.conf
# |-- mod_log_config.conf
# |-- mod_mime-defaults.conf
# |-- mod_perl-startup.pl
# |-- mod_status.conf
# |-- mod_userdir.conf
# |-- mod_usertrack.conf
# |-- server-tuning.conf
# |-- ssl-global.conf
# |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
# |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
# |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
# |-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys
# |-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files
# |-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2
# | |-- global.conf
# | |-- include.conf
# | `-- loadmodule.conf
# |-- uid.conf
# `-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here
# |-- vhost-ssl.template
# `-- vhost.template



### Global Environment ######################################################
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests.

# run under this user/group id
Include /etc/apache2/uid.conf

# - how many server processes to start (server pool regulation)
# - usage of KeepAlive
Include /etc/apache2/server-tuning.conf

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
ErrorLog /var/log/apache2/error_log

# generated from APACHE_MODULES in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/loadmodule.conf

# IP addresses / ports to listen on
Include /etc/apache2/listen.conf

# predefined logging formats
Include /etc/apache2/mod_log_config.conf

# generated from global settings in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/global.conf

# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

# optional cookie-based user tracking
# read the documentation before using it!!
Include /etc/apache2/mod_usertrack.conf

# configuration of server-generated directory listings
Include /etc/apache2/mod_autoindex-defaults.conf

# associate MIME types with filename extensions
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf

# set up (customizable) error responses
Include /etc/apache2/errors.conf

# global (server-wide) SSL configuration, that is not specific to
# any virtual host
# Include /etc/apache2/ssl-global.conf

# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

# List of resources to look for when the client requests a directory
DirectoryIndex index.html index.html.var

### 'Main' server configuration #############################################
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
Include /etc/apache2/default-server.conf


# Another way to include your own files
#
# The file below is generated from /etc/sysconfig/apache2,
# include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
# APACHE_CONF_INCLUDE_DIRS
# Include /etc/apache2/sysconfig.d/include.conf


### Virtual server configuration ############################################
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
Include /etc/apache2/vhosts.d/*.conf


# Note: instead of adding your own configuration here, consider
# adding it in your own file (/etc/apache2/httpd.conf.local)
# putting its name into APACHE_CONF_INCLUDE_FILES in
# /etc/sysconfig/apache2 -- this will make system updates
# easier

default-server.conf
Quote:
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
#

DocumentRoot "/srv/www/htdocs"

#
# Configure the DocumentRoot
#
<Directory "/srv/www/htdocs">
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
Options None
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
AllowOverride None
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
</Directory>

# Aliases: aliases can be added as needed (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

# "/srv/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
<IfModule mod_userdir.c>
# Note that the name of the user directory ("public_html") cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>


# Include all *.conf files from /etc/apache2/conf.d/.
#
# This is mostly meant as a place for other RPM packages to drop in their
# configuration snippet.
#
# You can comment this out here if you want those bits include only in a
# certain virtual host, but not here.
#
# Include /etc/apache2/conf.d/*.conf

# The manual... if it is installed ('?' means it won't complain)
# Include /etc/apache2/conf.d/apache2-manual?conf
 
Old 04-12-2006, 02:38 PM   #9
muha
Member
 
Registered: Nov 2005
Distribution: xubuntu, grml
Posts: 451

Rep: Reputation: 38
You are trying this as root, right?

/edit: i think it might be your default-server
I don't have this part in it (it goes straight on to # Include all *.conf fil...):
Code:
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
<IfModule mod_userdir.c>
# Note that the name of the user directory ("public_html") cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>
I don't know what it is for, so you might need it for some special module you gave installed.
Try commenting this part out and restarting apache. Good luck

Last edited by muha; 04-12-2006 at 02:47 PM.
 
Old 04-12-2006, 03:25 PM   #10
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
Yes, I am trying this as root

I commented out that part, but it still gives the same errors.
 
Old 04-13-2006, 01:42 AM   #11
muha
Member
 
Registered: Nov 2005
Distribution: xubuntu, grml
Posts: 451

Rep: Reputation: 38
Now for my other questions that might shed some light
Code:
rpm -qa | grep php
httpd2 -l
rpm -qa |grep apache
 
Old 04-13-2006, 08:41 AM   #12
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
These are the results it returned:

rpm -qa | grep php
Quote:
apache2-mod_php4-4.4.0-6.8
php4-4.4.0-6.8
httpd2 -l
Quote:
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
rpm -qa |grep apache
Quote:
apache2-mod_php4-4.4.0-6.8
apache2-example-pages-2.0.54-10
apache2-2.0.54-10.3
apache2-doc-2.0.54-10
apache2-mod_perl-2.0.1-4
apache2-prefork-2.0.54-10.3
 
Old 04-13-2006, 11:31 AM   #13
nuro305
Member
 
Registered: Mar 2004
Location: New Mexico
Distribution: FC4, SuSE 9.3 Pro, SuSE 10.1, SLED 10 SDK
Posts: 128

Rep: Reputation: 15
Sorry, but everything I see looks OK. I'm running 9.3 so I can't compare exactly.

Question: Did you install Apache from YAST > Add Remove Software ?
I'd try that if you didn't install it that way in the first place. It worked great on my 9.3 system...

Sorry I don't got more to offer ;-)
 
Old 04-18-2006, 10:39 AM   #14
sir_shunt
LQ Newbie
 
Registered: Apr 2005
Posts: 14

Original Poster
Rep: Reputation: 6
Sorry for the late reaction.
Yes, I used Yast to install apache, updating, or removing/reinstalling wont help either.
 
Old 04-18-2006, 11:36 AM   #15
muha
Member
 
Registered: Nov 2005
Distribution: xubuntu, grml
Posts: 451

Rep: Reputation: 38
hmm, i don't see anything different that might be significant ... Here's mine:
Code:
# rpm -qa | grep php
php4-devel-4.4.0-6
php4-mysql-4.4.0-6
php4-session-4.4.0-6
apache2-mod_php4-4.4.0-6.8
php4-4.4.0-6.8
php4-zlib-4.4.0-6
# httpd2 -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
# rpm -qa |grep apache
apache2-prefork-2.0.54-10.3
apache2-mod_php4-4.4.0-6.8
apache2-2.0.54-10.3
You could try adding/deleting some of these to see if it improves, otherwise i wouldn't know how to go about this, good luck!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Apache2.0.52, t1lib-5.0.2, php-apache2-5.0.2 wizard7423 Slackware 2 04-04-2011 08:09 PM
Cannot adjust 'apache2' service when starting Apache cbj4074 Linux - Software 7 11-18-2005 02:48 PM
Apache2 apache2-common WebDav timgerr Linux - Networking 1 08-25-2005 09:41 PM
how to uninstall apache2 which is installed by emerge apache2 flybirdlong Linux - Software 1 07-17-2004 11:46 AM
Starting Apache2 using Service Command liaaam Linux - Software 2 06-14-2004 05:06 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 03:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration