aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2010-12-22 13:55:44 -0800
committerFriendika <info@friendika.com>2010-12-22 13:55:44 -0800
commitad86a5193e60a23d56abb98197538a7bd6431931 (patch)
tree006180697a70ef8a4cb4467db000d74ae8c15b09
parent5b1fde8b0f4c658b3560ad4b0d29d176c42baf87 (diff)
downloadvolse-hubzilla-ad86a5193e60a23d56abb98197538a7bd6431931.tar.gz
volse-hubzilla-ad86a5193e60a23d56abb98197538a7bd6431931.tar.bz2
volse-hubzilla-ad86a5193e60a23d56abb98197538a7bd6431931.zip
some Windows (and other) installation issues
-rw-r--r--INSTALL.txt85
-rw-r--r--README2
-rw-r--r--mod/install.php12
3 files changed, 92 insertions, 7 deletions
diff --git a/INSTALL.txt b/INSTALL.txt
new file mode 100644
index 000000000..577f3f354
--- /dev/null
+++ b/INSTALL.txt
@@ -0,0 +1,85 @@
+
+Friendika Installation
+
+We've tried very hard to ensure that Friendika will run on commodity hosting
+platforms - such as those used to host Wordpress blogs and Drupal websites.
+But be aware that Friendika is more than a simple web application. It is a
+complex communications system which more closely resembles an email server
+than a web server. For reliability and performance, messages are delivered in
+the background and are queued for later delivery when sites are down. This
+kind of functionality requires a bit more of the host system than the typical
+blog. Not every PHP/MySQL hosting provider will be able to support Friendika.
+Many will. But please review the requirements and confirm these with your
+hosting provider prior to installation.
+
+
+1. Requirements
+ - Apache with mod-rewrite enabled and "Options All" so you can use a
+local .htaccess file
+
+ - PHP > 5.1. The later the better. You'll need 5.3 for encryption of key
+exchange conversations
+encryption support
+ - PHP *command line* access with register_argc_argv set to true in the
+php.ini file
+ - curl, gd, mysql, and openssl extensions
+ - some form of email server or email gateway such that PHP mail() works
+ - mcrypt (optional; used for end-to-end message encryption)
+
+ - Mysql 5.x
+
+ - ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks
+(Windows)
+
+ - Installation into a top-level domain or sub-domain (without a
+directory/path component in the URL) is preferred. Directory paths will
+not be as convenient to use and have not been thoroughly tested.
+
+ [Dreamhost.com offers all of the necessary hosting features at a
+reasonable price. If your hosting provider doesn't allow Unix shell access,
+you might have trouble getting everything to work.]
+
+2. Unpack the Friendika files into the root of your web server document area.
+
+ - If you copy the directory tree to your webserver, make sure
+ that you also copy .htaccess - as "dot" files are often hidden
+ and aren't normally copied.
+
+3. Create an empty database and note the access details (hostname, username,
+password, database name).
+
+4. Visit your website with a web browser and follow the instructions. Please
+note any error messages and correct these before continuing.
+
+5. *If* the automated installation fails for any reason, check the following:
+
+ - ".htconfig.php" exists
+ If not, edit htconfig.php and change system settings. Rename
+to .htconfig.php
+ - Database is populated.
+ If not, import the contents of "database.sql" with phpmyadmin
+or mysql command line
+
+6. At this point visit your website again, and register your personal account.
+Registration errors should all be recoverable automatically.
+If you get any *critical* failure at this point, it generally indicates the
+database was not installed correctly. You might wish to move/rename
+.htconfig.php to another name and empty (called 'dropping') the database
+tables, so that you can start fresh.
+
+7. Set up a cron job or scheduled task to run the poller once every 5-10
+minutes to pick up the recent "public" postings of your friends. Example:
+
+ cd /base/directory; /path/to/php include/poller.php
+
+Change "/base/directory", and "/path/to/php" as appropriate for your situation.
+
+If you are using a Linux server, run "crontab -e" and add a line like the
+one shown, substituting for your unique paths and settings:
+
+*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
+
+You can generally find the location of PHP by executing "which php". If you
+have troubles with this section please contact your hosting provider for
+assistance. Friendika will not work correctly if you cannot perform this step.
+
diff --git a/README b/README
index efd36a137..25fff8279 100644
--- a/README
+++ b/README
@@ -79,6 +79,6 @@ friends and public updates to your hordes of fans - using the same interface.
No other social network offers this ability.
-IMPORTANT: Please see the file INSTALL for system requirements.
+IMPORTANT: Please see the file INSTALL.txt for system requirements.
diff --git a/mod/install.php b/mod/install.php
index 9043459b8..fa534fe12 100644
--- a/mod/install.php
+++ b/mod/install.php
@@ -15,7 +15,7 @@ function install_post(&$a) {
require_once("dba.php");
- $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, $true);
+ $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
if(mysqli_connect_errno()) {
$db = new dba($dbhost, $dbuser, $dbpass, '', true);
@@ -24,7 +24,7 @@ function install_post(&$a) {
dbesc($dbdata)
);
if($r)
- $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, $true);
+ $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
}
if(mysqli_connect_errno()) {
notice( t('Could not create/connect to database.') . EOL);
@@ -65,14 +65,14 @@ function install_post(&$a) {
notice( t('Database import succeeded.') . EOL
. t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.') . EOL
- . t('Please see the file INSTALL.') . EOL );
+ . t('Please see the file "INSTALL.txt".') . EOL );
goaway($a->get_baseurl() . '/register' );
}
else {
$db = null; // start fresh
notice( t('Database import failed.') . EOL
. t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL
- . t('Please see the file INSTALL.') . EOL );
+ . t('Please see the file "INSTALL.txt".') . EOL );
}
}
@@ -171,7 +171,7 @@ function check_funcs() {
if(! function_exists('mysqli_connect'))
notice( t('Error: mysqli PHP module required but not installed.') . EOL);
if((x($_SESSION,'sysmsg')) && strlen($_SESSION['sysmsg']))
- notice( t('Please see the file "INSTALL".') . EOL);
+ notice( t('Please see the file "INSTALL.txt".') . EOL);
}
@@ -183,7 +183,7 @@ function check_htconfig() {
$o = t('The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.');
$o .= t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.');
$o .= t('Please check with your site documentation or support people to see if this situation can be corrected.');
- $o .= t('If not, you may be required to perform a manual installation. Please see the file "INSTALL" for instructions.');
+ $o .= t('If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.');
}
return $o;