<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://secure.freeside.biz/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OulidRoncd</id>
		<title>Freeside - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://secure.freeside.biz/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OulidRoncd"/>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php/Special:Contributions/OulidRoncd"/>
		<updated>2026-06-06T16:19:59Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Self-Service_Installation&amp;diff=4672</id>
		<title>Freeside:1.7:Documentation:Self-Service Installation</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Self-Service_Installation&amp;diff=4672"/>
				<updated>2009-05-22T09:58:52Z</updated>
		
		<summary type="html">&lt;p&gt;OulidRoncd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.texttrocdomora.com &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to run the self-service interface on a public web server, not the backend Freeside server.  The Freeside server will open an SSH connection to one or more web servers to process signups and self-service requests.&lt;br /&gt;
&lt;br /&gt;
== Backend setup ==&lt;br /&gt;
&lt;br /&gt;
Go to Configuration -&amp;gt; Settings and click on Edit Configuration&lt;br /&gt;
&lt;br /&gt;
Find and setup the following:&lt;br /&gt;
&lt;br /&gt;
* Set the '''signup_server-default_agentnum''' configuration value to a default agent number (i.e. 1).&lt;br /&gt;
* Set the '''signup_server-default_refnum''' configuration value to a default advertising source (i.e. 1).&lt;br /&gt;
* Set the '''signup_server-payby''' configuration value to the acceptable payment types for signups.&lt;br /&gt;
* Set the '''signup_server-realtime''' configuration value to run billing for signups immediately.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== API access (Perl, PHP, XML-RPC) ===&lt;br /&gt;
&lt;br /&gt;
* Perl&lt;br /&gt;
* [http://openssh.com SSH]&lt;br /&gt;
* [http://search.cpan.org/dist/Storable Storable] [[3rd_party_software/Perl#Stroable|3rd_party_software/Perl]]&lt;br /&gt;
* [http://search.cpan.org/dist/SOAP-Lite SOAP::Lite] for access from PHP or via the XML-RPC API&lt;br /&gt;
&lt;br /&gt;
=== Signup and self-service pages ===&lt;br /&gt;
&lt;br /&gt;
In addition to the above:&lt;br /&gt;
* A web server that can execute CGIs, such as [http://httpd.apache.org Apache].  SSL is highly recommended.&lt;br /&gt;
* [http://search.cpan.org/dist/Text-Template Text::Template]&lt;br /&gt;
* [http://search.cpan.org/dist/Business-CreditCard Business::CreditCard]&lt;br /&gt;
* [http://search.cpan.org/dist/HTTP-BrowserDetect HTTP::BrowserDetect]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Parser HTML::Parser]&lt;br /&gt;
* [http://search.cpan.org/dist/Tie-IxHash Tie::IxHash]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Widgets-SelectLayers HTML::Widgets::SelectLayers]&lt;br /&gt;
* [http://search.cpan.org/dist/TimeDate TimeDate] (CPAN: &amp;quot;install Date::Format&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Number-Format Number::Format]&lt;br /&gt;
&lt;br /&gt;
== Installing FS::SelfService ==&lt;br /&gt;
&lt;br /&gt;
* Copy the fs_selfservice/FS-SelfService directory to the public web server&lt;br /&gt;
* &amp;lt;code&amp;gt;perl Makefile.PL&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /usr/local/freeside; chown freeside /usr/local/freeside&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;touch /usr/local/freeside/selfservice_socket; chown freeside /usr/local/freeside/selfservice_socket&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chmod 600 /usr/local/freeside/selfservice_socket&amp;lt;/code&amp;gt;&lt;br /&gt;
'''OR'''&lt;br /&gt;
* &amp;lt;code&amp;gt;chown freeside:your-www-group /usr/local/freeside/selfservice_socket; chmod 660 /usr/local/freeside/selfservice_socket&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing web interface ==&lt;br /&gt;
&lt;br /&gt;
* Copy the fs_selfservice/FS-SelfService/cgi/ directory into the web server's document space.&lt;br /&gt;
* Enable CGI execution for files with the `.cgi' extenstion.  With Apache, for example:&lt;br /&gt;
  #directory where selfservice .cgi scripts and .html templates are located&lt;br /&gt;
  &amp;lt;Directory /var/www/selfservice&amp;gt;&lt;br /&gt;
  AddHandler cgi-script .cgi&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Use [http://httpd.apache.org/docs/1.3/suexec.html suEXEC] or suidperl&lt;br /&gt;
'''OR'''&lt;br /&gt;
* As per above, &amp;lt;code&amp;gt;chown freeside:your-www-group /usr/local/freeside/selfservice_socket; chmod 660 /usr/local/freeside/selfservice_socket&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optionally, customize the .html templates.&lt;br /&gt;
* Useful &amp;quot;entry points&amp;quot; to link to are:&lt;br /&gt;
** signup.cgi - Signup&lt;br /&gt;
** selfservice.cgi - Customer self-service&lt;br /&gt;
** agent.cgi - Reseller interface&lt;br /&gt;
** passwd.cgi - Simple password-changin ginterface&lt;br /&gt;
** promocode.html - Promotional code pre-signup&lt;br /&gt;
** regcode.html - Registration code pre-signup&lt;br /&gt;
** stateselect.html - State selection pre-signup&lt;br /&gt;
&lt;br /&gt;
== SSH setup ==&lt;br /&gt;
&lt;br /&gt;
* On your backend Freeside server, generate SSH keys for the &amp;quot;freeside&amp;quot; user with &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt;.  Either use a passphrase-less key, or arrange for &amp;lt;code&amp;gt;ssh-agent&amp;lt;/code&amp;gt; to provide keys to &amp;lt;code&amp;gt;freeside-selfservice-server&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add a &amp;quot;freeside&amp;quot; user to the public web server&lt;br /&gt;
* Append the contents of /home/freeside/.ssh/id_rsa.pub (or id_dsa.pub) on your freeside machine to the /home/freeside/.ssh/authorized_keys file on the public web server.&lt;br /&gt;
* As the freeside user, ensure you can SSH from your freeside machine to the public web server, without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
== Daemon setup ==&lt;br /&gt;
&lt;br /&gt;
* Run an instance of &amp;lt;code&amp;gt;freeside-selfservice-server ''user'' ''machine''&amp;lt;/code&amp;gt; on the Freeside machine for each external machine.&lt;br /&gt;
** ''user'' is an employee username.&lt;br /&gt;
** ''machine'' is the name or IP of the public web server.&lt;br /&gt;
&lt;br /&gt;
== Optional ==&lt;br /&gt;
&lt;br /&gt;
* You can install the files in the fs_selfservice/FS-SelfService/cgi/ directory multiple places in your web server's document space, and customize the .html templates differently for each. You can set the agentnum used for each signup by editing signup.html and including a hidden field with the agentnum: &lt;br /&gt;
  &amp;lt;INPUT TYPE=&amp;quot;hidden&amp;quot; NAME=&amp;quot;agentnum&amp;quot; VALUE=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* When linking to signup.cgi, you can include a referring custnum in the URL as follows: http://public.web.server/path/signup.cgi?ref=1542 &lt;br /&gt;
&lt;br /&gt;
* If you create a /usr/local/freeside/ieak.template file on the external machine, it will be sent to IE users with MIME type application/x-Internet-signup. This file will be processed with Text::Template with the variables listed below available. (an example file is included as fs_selfservice/FS-SelfService/ieak.template) See the section on internet settings files in the IEAK documentation for more information.  Also see [http://support.microsoft.com/default.aspx?scid=kb;en-us;170802 Internet Explorer Prompts to Download Files] in the Microsoft Knowledge Base if you have difficulty with IE prompting to download the signup's .ins file instead of processing it.&lt;br /&gt;
  &lt;br /&gt;
* Variable substitutions available in ieak.template and success.html: &lt;br /&gt;
** $ac - area code of selected POP &lt;br /&gt;
** $exch - exchange of selected POP &lt;br /&gt;
** $loc - local part of selected POP &lt;br /&gt;
** $username &lt;br /&gt;
** $password &lt;br /&gt;
** $email_name - first and last name &lt;br /&gt;
** $pkg - package name&lt;/div&gt;</summary>
		<author><name>OulidRoncd</name></author>	</entry>

	</feed>