some Windows (and other) installation issues
This commit is contained in:
parent
5b1fde8b0f
commit
ad86a5193e
3 changed files with 92 additions and 7 deletions
85
INSTALL.txt
Normal file
85
INSTALL.txt
Normal file
|
@ -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.
|
||||||
|
|
2
README
2
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.
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ function install_post(&$a) {
|
||||||
|
|
||||||
require_once("dba.php");
|
require_once("dba.php");
|
||||||
|
|
||||||
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, $true);
|
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
|
||||||
|
|
||||||
if(mysqli_connect_errno()) {
|
if(mysqli_connect_errno()) {
|
||||||
$db = new dba($dbhost, $dbuser, $dbpass, '', true);
|
$db = new dba($dbhost, $dbuser, $dbpass, '', true);
|
||||||
|
@ -24,7 +24,7 @@ function install_post(&$a) {
|
||||||
dbesc($dbdata)
|
dbesc($dbdata)
|
||||||
);
|
);
|
||||||
if($r)
|
if($r)
|
||||||
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, $true);
|
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
|
||||||
}
|
}
|
||||||
if(mysqli_connect_errno()) {
|
if(mysqli_connect_errno()) {
|
||||||
notice( t('Could not create/connect to database.') . EOL);
|
notice( t('Could not create/connect to database.') . EOL);
|
||||||
|
@ -65,14 +65,14 @@ function install_post(&$a) {
|
||||||
|
|
||||||
notice( t('Database import succeeded.') . EOL
|
notice( t('Database import succeeded.') . EOL
|
||||||
. t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.') . 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' );
|
goaway($a->get_baseurl() . '/register' );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$db = null; // start fresh
|
$db = null; // start fresh
|
||||||
notice( t('Database import failed.') . EOL
|
notice( t('Database import failed.') . EOL
|
||||||
. t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . 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'))
|
if(! function_exists('mysqli_connect'))
|
||||||
notice( t('Error: mysqli PHP module required but not installed.') . EOL);
|
notice( t('Error: mysqli PHP module required but not installed.') . EOL);
|
||||||
if((x($_SESSION,'sysmsg')) && strlen($_SESSION['sysmsg']))
|
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('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('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('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;
|
return $o;
|
||||||
|
|
Loading…
Reference in a new issue