diff options
author | Paolo Tacconi <p.tacconi@giunti.it> | 2016-04-15 09:20:58 +0200 |
---|---|---|
committer | Paolo Tacconi <p.tacconi@giunti.it> | 2016-04-15 09:20:58 +0200 |
commit | 45a854762b451dafb882bc56efce054b64420627 (patch) | |
tree | 958fcd22f04546f40b6ac68bb58cfe1a1b1fb7f6 /install | |
parent | 1806da0851dd5cf5978b19d12783ae3101a11257 (diff) | |
parent | a29c0371f1f3cceb9a9af3a62e5ed67886869c40 (diff) | |
download | volse-hubzilla-45a854762b451dafb882bc56efce054b64420627.tar.gz volse-hubzilla-45a854762b451dafb882bc56efce054b64420627.tar.bz2 volse-hubzilla-45a854762b451dafb882bc56efce054b64420627.zip |
Resolved conflict in view/it/hstrings.php
Diffstat (limited to 'install')
-rw-r--r-- | install/INSTALL.txt | 55 | ||||
-rwxr-xr-x | install/htconfig.sample.php | 30 | ||||
-rw-r--r-- | install/schema_mysql.sql | 33 | ||||
-rw-r--r-- | install/schema_postgres.sql | 28 | ||||
-rw-r--r-- | install/update.php | 103 |
5 files changed, 221 insertions, 28 deletions
diff --git a/install/INSTALL.txt b/install/INSTALL.txt index 8ca74c23b..18cf4a1db 100644 --- a/install/INSTALL.txt +++ b/install/INSTALL.txt @@ -1,6 +1,6 @@ Hubzilla Installation -We've tried very hard to ensure that the Hubzilla will run on commodity +We've tried very hard to ensure that Hubzilla will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. It will run on most any Linux VPS system. Windows LAMP platforms such as XAMPP and WAMP are not officially supported at this time - however @@ -29,7 +29,7 @@ issues. Before you begin: Choose a domain name or subdomain name for your server. -The Hubzilla can only be installed into the root of a domain or +Hubzilla can only be installed into the root of a domain or sub-domain, and can not be installed using alternate TCP ports. Decide if you will use SSL and obtain an SSL certificate before software @@ -53,13 +53,23 @@ advice. This is disruptive to the community. That said, we recognise the issues surrounding the current certificate infrastructure and agree there are many problems, but that doesn't change the requirement. -Free "browser-valid" certificates are available from providers such as StartSSL. +Free "browser-valid" certificates are available from providers such as StartSSL +and LetsEncrypt. If you do NOT use SSL, there may be a delay of up to a minute for the initial install script - while we check the SSL port to see if anything responds there. When communicating with new sites, Hubzilla always attempts connection on the SSL port first, before falling back to a less secure connection. If you do not -use SSL, your webserver must not listen on port 443 at all. +use SSL, your webserver MUST NOT listen on port 443 at all. + +If you use LetsEncrypt to provide certificates and create a file under +.well-known/acme-challenge so that LetsEncrypt can verify your domain ownership, +please remove or rename the .well-known directory as soon as the certificate is +generated. Hubzilla will provide its own handler for ".well-known" services when +it is installed, and an existing directory in this location may prevent some of +these services from working correctly. This should not be a problem with Apache, +but may be an issue with nginx or other web server platforms. + 1. Requirements - Apache with mod-rewrite enabled and "AllowOverride All" so you can use a @@ -126,18 +136,18 @@ use SSL, your webserver must not listen on port 443 at all. cd mywebsite - Then you should clone the addon repository (separately). We'll give this repository - a nickname of 'matrix'. You can pull in other hubzilla addon repositories by + a nickname of 'hzaddons'. You can pull in other hubzilla addon repositories by giving them different nicknames. - util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git matrix + util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons - For keeping the addon tree updated, you should be on your top level website directory and issue an update command for that repository. cd mywebsite - util/update_addon_repo matrix + util/update_addon_repo hzaddons - - Create searchable represenations of the online documentation. You may do this any time + - Create searchable representations of the online documentation. You may do this any time that the documentation is updated. cd mywebsite @@ -177,7 +187,16 @@ 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. +tables, so that you can start fresh. + +In order for your account to be given administrator access, it should be the +first account created, and the email address provided during registration +must match the "administrator email" address you provided during +installation. Otherwise to give an account administrator access, +add 4096 to the account_roles for that account in the database. + +For your site security there is no way to provide administrator access +using web forms. **************************************************************************** **************************************************************************** @@ -185,7 +204,7 @@ tables, so that you can start fresh. **************************************************************************** **************************************************************************** -8. Set up a cron job or scheduled task to run the poller once every 5-10 +8. Set up a cron job or scheduled task to run the poller once every 10-15 minutes to pick up the recent "public" postings of your friends. Example: cd /base/directory; /path/to/php include/poller.php @@ -201,10 +220,11 @@ 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. Hubzilla will not work correctly if you cannot perform this step. -You should also be sure that $a->config['system']['php_path'] is set correctly, -it should look like (changing it to the correct PHP location) +You should also be sure that App::$config['system']['php_path'] is set correctly +in your .htconfig.php file, it should look like (changing it to the correct +PHP location): -$a->config['system']['php_path'] = '/usr/local/php53/bin/php'; +App::$config['system']['php_path'] = '/usr/local/php55/bin/php'; ##################################################################### @@ -221,7 +241,7 @@ $a->config['system']['php_path'] = '/usr/local/php53/bin/php'; Check your database settings. It usually means your database could not be opened or accessed. If the database resides on the same machine, check that -the database server name is the word "localhost". +the database server name is "127.0.0.1" or the word "localhost". ##################################################################### - 500 Internal Error @@ -296,7 +316,7 @@ Retry the installation. As soon as the database has been created, ##################################################################### - Some configurations with "suhosin" security are configured without -an ability to run external processes. The Hubzilla requires this ability. +an ability to run external processes. Hubzilla requires this ability. Following are some notes provided by one of our members. ##################################################################### @@ -333,7 +353,7 @@ are NOT called with -d suhosin.executor.func.blacklist=none. So the simple solution is to put the correct parameters into .htconfig.php: // Location of PHP command line processor - $a->config['system']['php_path'] = '/usr/bin/php -d suhosin.executor.func.blacklist=none + App::$config['system']['php_path'] = '/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none'; @@ -386,4 +406,5 @@ MaxRequestWorkers to 70. Here you can read more about Apache performance tuning: https://httpd.apache.org/docs/2.4/misc/perf-tuning.html -There are tons of scripts to help you with fine-tuning your Apache installation. Just search with your favorite search engine 'apache fine-tuning script'. +There are tons of scripts to help you with fine-tuning your Apache installation. +Just search with your favorite search engine 'apache fine-tuning script'. diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php index 21697a951..5e506225e 100755 --- a/install/htconfig.sample.php +++ b/install/htconfig.sample.php @@ -17,7 +17,9 @@ $db_port = 0; // leave 0 for default or set your port $db_user = 'mysqlusername'; $db_pass = 'mysqlpassword'; $db_data = 'mysqldatabasename'; +$db_type = 0; // use 1 for postgres, 0 for mysql +define( 'UNO', 0 ); /* * Notice: Many of the following settings will be available in the admin panel @@ -37,11 +39,21 @@ $db_data = 'mysqldatabasename'; $default_timezone = 'America/Los_Angeles'; -// What is your site name? +// What is your site name? DO NOT ADD A TRAILING SLASH! -$a->config['system']['baseurl'] = 'https://myredsite.example'; -$a->config['system']['sitename'] = "Hubzilla"; -$a->config['system']['location_hash'] = 'if the auto install failed, put a unique random string here'; +App::$config['system']['baseurl'] = 'https://myredsite.example'; +App::$config['system']['sitename'] = "Hubzilla"; +App::$config['system']['location_hash'] = 'if the auto install failed, put a unique random string here'; + + +// These lines set additional security headers to be sent with all responses +// You may wish to set transport_security_header to 0 if your server already sends +// this header. content_security_policy may need to be disabled if you wish to +// run the piwik analytics plugin or include other offsite resources on a page + +App::$config['system']['transport_security_header'] = 1; +App::$config['system']['content_security_policy'] = 1; +App::$config['system']['ssl_cookie_protection'] = 1; // Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED. @@ -54,13 +66,13 @@ $a->config['system']['location_hash'] = 'if the auto install failed, put a uniqu // In order to perform system administration via the admin panel, admin_email // must precisely match the email address of the person logged in. -$a->config['system']['register_policy'] = REGISTER_OPEN; -$a->config['system']['register_text'] = ''; -$a->config['system']['admin_email'] = ''; +App::$config['system']['register_policy'] = REGISTER_OPEN; +App::$config['system']['register_text'] = ''; +App::$config['system']['admin_email'] = ''; // Location of PHP command line processor -$a->config['system']['php_path'] = 'php'; +App::$config['system']['php_path'] = 'php'; // Configure how we communicate with directory servers. @@ -69,7 +81,7 @@ $a->config['system']['php_path'] = 'php'; // DIRECTORY_MODE_PRIMARY = main directory server (you do not want this unless you are operating your own realm. one per realm.) // DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services (only local site members in directory) -$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL; +App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL; // PHP error logging setup diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 3d7ea41df..01cf97674 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -1,4 +1,18 @@ +CREATE TABLE IF NOT EXISTS `abconfig` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `chan` char(255) NOT NULL DEFAULT '', + `xchan` char(255) NOT NULL DEFAULT '', + `cat` char(255) NOT NULL DEFAULT '', + `k` char(255) NOT NULL DEFAULT '', + `v` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `chan` (`chan`), + KEY `xchan` (`xchan`), + KEY `cat` (`cat`), + KEY `k` (`k`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + CREATE TABLE IF NOT EXISTS `abook` ( `abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `abook_account` int(10) unsigned NOT NULL DEFAULT '0', @@ -230,6 +244,7 @@ CREATE TABLE IF NOT EXISTS `channel` ( `channel_w_like` int(10) unsigned NOT NULL DEFAULT '0', `channel_removed` tinyint(1) NOT NULL DEFAULT '0', `channel_system` tinyint(1) NOT NULL DEFAULT '0', + `channel_moved` char(255) NOT NULL DEFAULT '', PRIMARY KEY (`channel_id`), UNIQUE KEY `channel_address_unique` (`channel_address`), KEY `channel_account_id` (`channel_account_id`), @@ -268,7 +283,8 @@ CREATE TABLE IF NOT EXISTS `channel` ( KEY `channel_w_like` (`channel_w_like`), KEY `channel_removed` (`channel_removed`), KEY `channel_system` (`channel_system`), - KEY `channel_lastpost` (`channel_lastpost`) + KEY `channel_lastpost` (`channel_lastpost`), + KEY `channel_moved` (`channel_moved`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `chat` ( @@ -543,6 +559,21 @@ CREATE TABLE IF NOT EXISTS `hubloc` ( KEY `hubloc_error` (`hubloc_error`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `iconfig` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `iid` int(11) NOT NULL DEFAULT '0', + `cat` char(255) NOT NULL DEFAULT '', + `k` char(255) NOT NULL DEFAULT '', + `v` mediumtext NOT NULL, + `sharing` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `iid` (`iid`), + KEY `cat` (`cat`), + KEY `k` (`k`), + KEY `sharing` (`sharing`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + CREATE TABLE IF NOT EXISTS `issue` ( `issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 5cabbc2c9..a7cd5875c 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -1,3 +1,16 @@ +CREATE TABLE "abconfig" ( + "id" serial NOT NULL, + "chan" text NOT NULL, + "xchan" text NOT NULL, + "cat" text NOT NULL, + "k" text NOT NULL, + "v" text NOT NULL, + PRIMARY KEY ("id") +); +create index "abconfig_chan" on abconfig ("chan"); +create index "abconfig_xchan" on abconfig ("xchan"); +create index "abconfig_cat" on abconfig ("cat"); +create index "abconfig_k" on abconfig ("k"); CREATE TABLE "abook" ( "abook_id" serial NOT NULL, "abook_account" bigint NOT NULL, @@ -225,6 +238,7 @@ CREATE TABLE "channel" ( "channel_w_like" bigint NOT NULL DEFAULT '128', "channel_removed" smallint NOT NULL DEFAULT '0', "channel_system" smallint NOT NULL DEFAULT '0', + "channel_moved" text NOT NULL DEFAULT '', PRIMARY KEY ("channel_id"), UNIQUE ("channel_address") ); @@ -265,6 +279,7 @@ create index "channel_dirdate" on channel ("channel_dirdate"); create index "channel_lastpost" on channel ("channel_lastpost"); create index "channel_removed" on channel ("channel_removed"); create index "channel_system" on channel ("channel_system"); +create index "channel_moved" on channel ("channel_moved"); CREATE TABLE "chat" ( "chat_id" serial NOT NULL, "chat_room" bigint NOT NULL DEFAULT '0', @@ -538,6 +553,19 @@ create index "hubloc_primary" on hubloc ("hubloc_primary"); create index "hubloc_orphancheck" on hubloc ("hubloc_orphancheck"); create index "hubloc_error" on hubloc ("hubloc_error"); create index "hubloc_deleted" on hubloc ("hubloc_deleted"); +CREATE TABLE "iconfig" ( + "id" serial NOT NULL, + "iid" bigint NOT NULL DEFAULT '0', + "cat" text NOT NULL DEFAULT '', + "k" text NOT NULL DEFAULT '', + "v" text NOT NULL DEFAULT '', + "sharing" int NOT NULL DEFAULT '0', + PRIMARY KEY("id") +); +create index "iconfig_iid" on iconfig ("iid"); +create index "iconfig_cat" on iconfig ("cat"); +create index "iconfig_k" on iconfig ("k"); +create index "iconfig_sharing" on iconfig ("sharing"); CREATE TABLE "issue" ( "issue_id" serial NOT NULL, "issue_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', diff --git a/install/update.php b/install/update.php index 24f4f21d5..bfd01494f 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1161 ); +define( 'UPDATE_VERSION' , 1165 ); /** * @@ -1957,3 +1957,104 @@ function update_r1160() { return UPDATE_FAILED; } +function update_r1161() { + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("CREATE TABLE \"iconfig\" ( + \"id\" serial NOT NULL, + \"iid\" bigint NOT NULL DEFAULT '0', + \"cat\" text NOT NULL DEFAULT '', + \"k\" text NOT NULL DEFAULT '', + \"v\" text NOT NULL DEFAULT '', + PRIMARY_KEY(\"id\") +) "); +$r2 = q("create index \"iconfig_iid\" on iconfig (\"iid\") ");; +$r3 = q("create index \"iconfig_cat\" on iconfig (\"cat\") "); +$r4 = q("create index \"iconfig_k\" on iconfig (\"k\") "); + $r = $r1 && $r2 && $r3 && $r4; + } + else { + $r = q("CREATE TABLE IF NOT EXISTS `iconfig` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `iid` int(11) NOT NULL DEFAULT '0', + `cat` char(255) NOT NULL DEFAULT '', + `k` char(255) NOT NULL DEFAULT '', + `v` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `iid` (`iid`), + KEY `cat` (`cat`), + KEY `k` (`k`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); + + } + + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + +function update_r1162() { + $r1 = q("alter table iconfig add sharing int not null default '0' "); + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) + $r2 = q("create index \"iconfig_sharing\" on iconfig (\"sharing\") "); + else + $r2 = q("alter table iconfig add index ( sharing ) "); + if($r1 && $r2) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + +function update_r1163() { + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("alter table channel add channel_moved text not null default '' "); + $r2 = q("create index \"channel_channel_moved\" on channel (\"channel_moved\") "); + } + else { + $r1 = q("alter table channel add channel_moved char(255) not null default '' "); + $r2 = q("alter table channel add index ( channel_moved ) "); + } + if($r1 && $r2) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + +function update_r1164() { + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("CREATE TABLE \"abconfig\" ( + \"id\" serial NOT NULL, + \"chan\" text NOT NULL, + \"xchan\" text NOT NULL, + \"cat\" text NOT NULL, + \"k\" text NOT NULL, + \"v\" text NOT NULL, + PRIMARY KEY (\"id\") "); + $r2 = q("create index \"abconfig_chan\" on abconfig (\"chan\") "); + $r3 = q("create index \"abconfig_xchan\" on abconfig (\"xchan\") "); + $r4 = q("create index \"abconfig_cat\" on abconfig (\"cat\") "); + $r5 = q("create index \"abconfig_k\" on abconfig (\"k\") "); + $r = $r1 && $r2 && $r3 && $r4 && $r5; + } + else { + $r = q("CREATE TABLE IF NOT EXISTS `abconfig` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `chan` char(255) NOT NULL DEFAULT '', + `xchan` char(255) NOT NULL DEFAULT '', + `cat` char(255) NOT NULL DEFAULT '', + `k` char(255) NOT NULL DEFAULT '', + `v` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `chan` (`chan`), + KEY `xchan` (`xchan`), + KEY `cat` (`cat`), + KEY `k` (`k`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); + + } + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + |