From 1c321e198bb399090acb47e13eaf8eb8f3068fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Mon, 4 Mar 2013 23:59:28 +0100 Subject: [PATCH 1/7] Added INSTALL.txt for installation instructions --- INSTALL.txt | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 INSTALL.txt diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100755 index 0000000..73c93c6 --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,54 @@ +Installation procedure for CATS +=============================== + +Prerequesites +------------- + +- Apache 2.2.4 ist installed and configured to run with HTTPS. The CAcert roots should + be trusted. +- PHP 5.2.4 +- MySQL (Version 5.0) is installed and running +- git is installed and has access to github.com +- You have a browser with a valid CAcert client certificate installed +- You may want to set up your own CAcert testsystem like described in https://wiki.cacert.org/Software + to play around with certificates more freely + + +Setup +----- + +- Get CATS from github into your webserver's document directory (or any subdir): + git clone git@github.com:CAcertOrg/cats.git + +- Connect to your MySQL server with an administrative user and create a database for CATS: + CREATE DATABASE cats_db; +- Create a user for CATS to access the database: + CREATE USER cats-user IDENTIFIED BY ''; +- Grant the necessary user rights. These are a bit more than the absolute minimum: + GRANT DELETE, INSERT, SELECT, UPDATE ON cats_db.* TO cats_user; +- Change the database to the newly created cats_db: + USE cats_db; +- Execute the scripts from the database subdirectory to create the database structure. + First execute create_db.sql, then all update*.sql in numerical order + +- Change to cats directory, copy index.php.template to index.php +- Edit index.php, replace the string "FILEPATHTOHERE" with the absolute path of the + cats directory. Make sure to finish with a slash. +- Change to the includes subdirectory +- Copy db_connect.inc.template to db_connect.inc +- Edit db_connect.inc +- You may want to install a sample test by executing sample_test.sql from the database directory + +- Make sure that the directive "SSLVerifyClient optional" or "SSLVerifyClient require" + are active for the CATS web directory, otherwise no client certificate login is requested + from your browser + + +Create an administrative user +----------------------------- + +- Open your browser and browse to your CATS web directory using https. +- Click "Login" and accept registering with "Yes" +- Connect to your mysql database +- Set the admin flag on all existing users (should be only one): + UPDATE USER SET admin=1; From af3ac2eaac2f6aa8f2eb501a512646a2af1ded5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Wed, 13 Mar 2013 23:49:47 +0100 Subject: [PATCH 2/7] Updated create_db to current structure, adjusted sample_test --- INSTALL.txt | 2 ++ database/sample_test.sql | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100755 database/sample_test.sql diff --git a/INSTALL.txt b/INSTALL.txt index 73c93c6..a00f2af 100755 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -19,6 +19,8 @@ Setup - Get CATS from github into your webserver's document directory (or any subdir): git clone git@github.com:CAcertOrg/cats.git +- Checkout your favourite branch, for example "git checkout release" for the installed productive version + or "git checkout testserver" to get a mirror of the testserver. - Connect to your MySQL server with an administrative user and create a database for CATS: CREATE DATABASE cats_db; diff --git a/database/sample_test.sql b/database/sample_test.sql new file mode 100755 index 0000000..4dfe519 --- /dev/null +++ b/database/sample_test.sql @@ -0,0 +1,24 @@ + +LOCK TABLES `answers` WRITE; +/*!40000 ALTER TABLE `answers` DISABLE KEYS */; +INSERT INTO `answers` VALUES (1521,1,'under most signature laws, a digitized hand writing attached to a scan of a document.',0),(1520,1,'under most signature laws, a digital seal containing a hash value',1),(1519,1,'a generic term used for different forms of signatures',1),(5,2,'true',1),(6,2,'false',0),(9,3,'Information about the Assurer who checked the identity of that person',0),(10,3,'information about the owner of the certificate',1),(11,3,'digitized fingerprints of the owner',0),(12,3,'day of birth of the owner',0),(13,3,'electronic fingerprints for the validation of the certificate and the owner of the certificate',1),(14,3,'issuing date and expiration date of the certificate',1),(15,4,'public key',1),(16,4,'private key',0),(17,4,'passphrase to the key',0),(22,6,'X.509 certificates',1),(23,6,'Skype certificates',0),(24,7,'5',0),(25,7,'10',0),(26,7,'50',0),(27,7,'unlimited',1),(28,8,'Currently it does not expire, but this may change in the future.',1),(29,8,'10 years',0),(30,8,'5 years',0),(31,8,'2 years',0),(955,9,'in the CAcert Community Agreement (CCA)',0),(954,9,'in the Certificate Practice Statement (CPS)',1),(953,9,'in the Certificate Overview Table (COT)',0),(1456,10,'code signing',1),(1455,10,'email encryption',1),(1454,10,'webserver encryption',1),(40,11,'You have to reach 150 assurance points',0),(41,11,'You have to reach 100 assurance points',1),(42,11,'You have to proof a university degree in IT studies',0),(43,11,'You need to successfully pass this online test',1),(44,11,'Three existing assurers must support your application',0),(45,12,'true',1),(46,12,'false',0),(50,13,'true',0),(51,13,'false',1),(1446,14,'You have to collect a fee of USD 5.00 from any person you assure',0),(1447,14,'You have to accept and act according to the current rules for accomplishing an assurance.',1),(1445,14,'You must keep the CAP forms of all assurances for 50 years',0),(1444,14,'You should ensure that your level of education in this field is up to date. Keep abreast for future training updates!',1),(59,15,'You did a good job, everything was correct',0),(60,15,'You did a good job, but there were minor flaws (like an expired document)',0),(61,15,'You commited deliberate actions, like knowingly making a false assurance',1),(62,16,'the local court of the Assurer',0),(63,16,'the local court of the User',0),(64,16,'the internal arbitration of CAcert ',1),(65,17,'0',0),(66,17,'10',0),(67,17,'25',0),(68,17,'55',0),(69,17,'75',0),(70,17,'110',0),(71,18,'1',0),(72,18,'2',1),(73,18,'5',0),(74,19,'Is the applicant beautiful?',0),(75,19,'Is the number of the ID card written on the form?',0),(76,19,'Is the form completely filled out?',1),(77,19,'Is the name, day of birth and signature on the form identical to those on the presented ID card?',1),(78,19,'Does the copy of the ID card match the presented ID card?',0),(79,19,'Can you clearly read the email adress?',1),(80,20,'governmental ID card',1),(81,20,'student ID',0),(82,20,'credit card',0),(83,20,'passport',1),(84,20,'drivers licence',1),(85,20,'membership card',0),(1461,21,'Picture and ID is stamped',1),(1460,21,'Hologram',1),(1459,21,'Printing style',1),(90,22,'true',0),(91,22,'false',1),(94,23,'true',0),(95,23,'false',1),(98,24,'To do the assurance and register back at home on his own system',1),(99,24,'To use your laptop to register, then do the assurance',0),(102,26,'If the picture on the ID card cannot be matched with the applicant',1),(103,26,'If the signature on the ID card does not match the signature on the form',1),(104,26,'If the security characteristics are damaged',1),(105,26,'If the applicant asks about the checks you do',0),(106,26,'If the ID card was issued several years ago (even if everything matches fine)',0),(107,27,'true',0),(108,27,'false',1),(109,28,'true',1),(110,28,'false',0),(111,29,'true',0),(112,29,'false',1),(1466,30,'Ask the browser vendors',0),(1467,30,'Read the Wiki at http://wiki.cacert.org',1),(1465,30,'Join the CAcert mailing lists',1),(1464,30,'Contact the support team through the support form or write them a mail',1),(946,31,'A passport issued by governments to special ops to conceal their identity',0),(945,31,'A passport with a special envelope to hide it from possible thiefs',0),(121,32,'A passport for an artist using a pseudonym',0),(122,32,'A club card designed to resemble a real passport.',1),(123,32,'A passport with an artist designed cover',0),(124,33,'Serial number',0),(125,33,'Photo of the owner',1),(126,33,'Date of birth',1),(127,33,'Place of birth',0),(128,33,'Issuing country',1),(129,33,'Home address',0),(130,33,'Machine readable data',0),(131,33,'RFID chip containing biometric data',0),(132,33,'Issuing authority',1),(944,31,'A \\\"passport\\\" issued in the name of non-existent country that is intended to look like a real country\\\'s passport.',1),(956,9,'in the Browser Vendors Usage Guidelines (BVUG)',0),(1457,10,'document signatures (as agreed by contract)',1),(1458,10,'secure high value transactions',0),(1462,21,'Machine readable part',1),(1463,21,'extra fragile paper',0),(1468,30,'All local unix groups offer offical CAcert support',0),(1522,1,'a signature created with a digital pen',0); +/*!40000 ALTER TABLE `answers` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `question_description` WRITE; +/*!40000 ALTER TABLE `question_description` DISABLE KEYS */; +INSERT INTO `question_description` VALUES (31,'Camuflage passports can be purchased and are usually used by individuals who are afraid of being singled out for a crime because of their nationality. See http://en.wikipedia.org/wiki/Camouflage_passport'),(22,'Nobody can force you to give points. If you are unsure, even if it is not the applicant\\\'s fault, give less or even no points.'),(23,'An expired document is not valid any more. If it\\\'s recently (<1 year) expired you can accept it at your own risk, but keep in mind that maybe you\\\'ll have to explain this some time in the future!'),(24,'It is too easy to watch someone creating an account during a public event, so please advise the person to do it at home.'),(27,'If the applicant is a close friend or family member s/he surely has no problem showing you a valid id. Everything else puts you in a bad situation, just in case some silly little mistake should happen...'),(28,'Note that you MUST TELL IT IN ADVANCE if you want to charge for an assurance! If you forget this the applicant may demand a free assurance.'),(29,'I\\\'m sure you checked the correct answer. ;)\r\nThe damage done by a VIP who is assured on invalid documents may be much greater.'),(32,'See http://en.wikipedia.org/wiki/Camouflage_passport'),(33,'CAcert policy demands a photo of the owner and the date of birth. If a passport does not contain an issuing country and authority it is no passport. The rest of the data may or may not be contained in a passport, there is no internationally accepted standard for that.'),(20,'Remember the term \\"goverment issued Photo ID\\"! Note that there are rumours about passports without a Photograph. Should you encounter one of those it does not count as \\"Photo ID\\"...'),(21,'All these characteristics are often used, depending on techniques used for a specific ID.'),(26,'If the ID is expired it is not acceptable, but it it\\\'s just old...'),(12,'Of course as usual IDs have to be provided and a CAP form has to be signed by the person as well as by a legal agent.'),(30,'Perhaps a local unix group can also offer support, but you can\\\'t rely on that.'),(15,'CAcert tries to reduce liability to a sensible amount, but if you make false assurances just for fun, someone might get you...'),(19,'These are not the only things, just some that tend to be overlooked! Have a look at http://wiki.cacert.org/wiki/PolicyDrafts/AssurancePolicy for other info.'),(11,'Note that this is not fixed principle, it may change is other requirements are deemed appropriate.'),(10,'CAcert does discurage using its certificate for high value transactions. If you use them for this purpose it\\\'s completely your own risk.'),(3,'Currently a certificate may optionally include one or more verified eMail addresses, a \\"Single Sign On ID\\" and (if the User is assured to 50 points) the name. All X509 certificates have to include issuing and expiry dates.'); +/*!40000 ALTER TABLE `question_description` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `questions` WRITE; +/*!40000 ALTER TABLE `questions` DISABLE KEYS */; +INSERT INTO `questions` VALUES (1,2,1,'[1]An electronic signature is: (check 2)','1','0',NULL,NULL),(2,3,1,'[2]A digital certificate is a cryptographic key and some information about the owner of that key','1','0',NULL,NULL),(3,2,1,'[3]A digital certificate issued by CAcert can contain the following elements: (check 3)','1','1',NULL,NULL),(4,1,1,'[4]If you want to send ALICE a message which is encrypted, you need her','1','0',NULL,NULL),(6,1,1,'[6]Which type of certificates does CAcert issue?','1','0',NULL,NULL),(7,1,1,'[7]How many certificates (SSL, email, code signing) can you get for free as a registered user of CAcert?','1','0',NULL,NULL),(8,1,1,'[8]How long is your identity check valid (under normal circumstances)?','1','0',NULL,NULL),(9,1,1,'[9]Types of certificates, their appropriate usage and corresponding applications are defined ...','1','0',NULL,NULL),(10,2,1,'[10]Which certificate usages are appropriate according to the rules? (check 4)','1','1',NULL,NULL),(11,2,1,'[11]What are the requirements for becoming an assurer? (check 2)','1','1',NULL,NULL),(12,3,1,'[12]As an Assurer, you are allowed to assure underage persons and issue assurance points up to the maximum you are currently allowed.','1','1',NULL,NULL),(13,3,1,'[13]If you have any doubts about the identity of a person, you should still assure that person and report your doubts afterwards.','1','0',NULL,NULL),(14,2,1,'[14]Which obligations do you have as an assurer? (check 2)','1','0',NULL,NULL),(15,1,1,'[15]In which case is it most likely that you can be made liable for your assurances?','1','1',NULL,NULL),(16,1,1,'[16]Disputes between users and assurers are dealt at','1','0',NULL,NULL),(17,4,1,'(17)Below [50] points, you can only get client certificates without your name included, valid for 6 month. When reaching [100] points, you can apply for a code-signing certificate and become an assurer by passing this test. The maximum number of points you can reach by assuring other people is [150]. Then you can issue up to [35] points of trust.','1','0',NULL,NULL),(18,1,1,'[18]How many additional points (up to a maximum of 150) do you get by assuring other people (per assurance)?','1','0',NULL,NULL),(19,2,1,'[19]As an assurer, you have to check the following: (check 3)','1','1',NULL,NULL),(20,2,1,'[20]Which of the following documents are valid IDs in terms of the CPS? (check 3)','1','1',NULL,NULL),(21,2,1,'[21]Which are typical (may vary between countries) characteristics of an ID card? (check 4)','1','1',NULL,NULL),(22,3,1,'[22]As long as the presented ID is valid, I have to assure that person, even if I am not sure about the picture on the ID.','1','1',NULL,NULL),(23,3,1,'[23]An expired ID card is still fine as the only identity proof during an assurance.','1','1',NULL,NULL),(24,1,1,'[24]During an event, a person who has not yet registered approaches you. You recommend him:','1','1',NULL,NULL),(26,2,1,'[26]Which situations during an identity check prohibit completion of an assurance? (check 3)','1','1',NULL,NULL),(27,3,1,'[27]If an applicant is a family member or a close friend, there is no need to check his ID. The trust you have in him ought to be enough.','1','1',NULL,NULL),(28,3,1,'[28]CAcert certificates are always free of charge, but you are allowed to charge a small fee from an applicant to cover your costs (time, travel, etc.) if you tell him that in advance.','1','1',NULL,NULL),(29,3,1,'[29]VIP\\\'s are very important to CAcert as they can be of great help (or great harm) when they talk to the press. Therefore, you should always pass their assurance, even if some documents are not OK.','1','1',NULL,NULL),(30,2,1,'[30]Where can you get support on CAcert issues? (check 3)','1','1',NULL,NULL),(31,1,1,'[31]What is a \\"camouflage passport\\"?','1','1',NULL,NULL),(32,1,1,'[32]What is a \\"fantasy passport\\"?','1','1',NULL,NULL),(33,2,1,'[33]Which of the following are among the minimum requirements for a passport accepted for a CAcert assurance? (check 4)','1','1',NULL,NULL); +/*!40000 ALTER TABLE `questions` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `topics` WRITE; +/*!40000 ALTER TABLE `topics` DISABLE KEYS */; +INSERT INTO `topics` VALUES (1,'Assurer\\\'s challenge (EN)',1,25,80,'en'); +/*!40000 ALTER TABLE `topics` ENABLE KEYS */; +UNLOCK TABLES; From 251b1998932c43d26ac1f99788b302906cde7c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Wed, 13 Mar 2013 23:54:44 +0100 Subject: [PATCH 3/7] retry... --- database/create_db.sql | 20 +++++++++++++------- database/sample_test.sql | 8 ++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/database/create_db.sql b/database/create_db.sql index e36f549..57b7c35 100755 --- a/database/create_db.sql +++ b/database/create_db.sql @@ -1,8 +1,8 @@ -- MySQL dump 10.11 -- --- Host: localhost Database: cats_cats +-- Host: localhost Database: cats_db -- ------------------------------------------------------ --- Server version 5.0.45-community +-- Server version 5.0.45 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -26,7 +26,7 @@ CREATE TABLE `answers` ( `answer` text collate latin1_general_ci NOT NULL, `correct` tinyint(1) NOT NULL default '0', PRIMARY KEY (`a_id`) -) ENGINE=MyISAM AUTO_INCREMENT=944 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; +) ENGINE=MyISAM AUTO_INCREMENT=1529 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; -- @@ -56,6 +56,7 @@ CREATE TABLE `learnprogress` ( `correct` int(11) NOT NULL default '0' COMMENT 'Richtige Fragen', `wrong` int(11) NOT NULL default '0' COMMENT 'Anzahl der falschen Antworten', `percentage` decimal(5,0) default NULL, + `uploaded` tinyint(1) default NULL, PRIMARY KEY (`lp_id`) ) ENGINE=MyISAM AUTO_INCREMENT=178 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; @@ -83,8 +84,11 @@ CREATE TABLE `questions` ( `question` text collate latin1_general_ci NOT NULL COMMENT 'Frage', `active` enum('1','0') collate latin1_general_ci NOT NULL default '0', `description` enum('1','0') collate latin1_general_ci NOT NULL default '0', + `ref_q_id` int(11) default NULL, + `translationstatus` int(11) default NULL, PRIMARY KEY (`q_id`) -) ENGINE=MyISAM AUTO_INCREMENT=158 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Fragen'; +) ENGINE=MyISAM AUTO_INCREMENT=245 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Fragen'; + -- -- Table structure for table `questiontype` @@ -118,7 +122,7 @@ CREATE TABLE `statistics` ( `q_id` int(11) NOT NULL default '0' COMMENT 'Frage Id', `count` int(11) NOT NULL default '0' COMMENT 'Zählen von Antworten', PRIMARY KEY (`stat_id`) -) ENGINE=MyISAM AUTO_INCREMENT=121 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; -- @@ -132,9 +136,11 @@ CREATE TABLE `topics` ( `active` tinyint(1) NOT NULL default '0', `numOfQu` tinyint(4) NOT NULL default '0', `percentage` tinyint(4) NOT NULL default '0', + `lang` varchar(42) collate latin1_general_ci default NULL, PRIMARY KEY (`t_id`), UNIQUE KEY `topic` (`topic`) -) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Themen'; +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Themen'; + -- -- Table structure for table `user` @@ -182,4 +188,4 @@ CREATE TABLE `user_address` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2008-01-04 23:53:19 +-- Dump completed on 2013-03-13 22:24:08 diff --git a/database/sample_test.sql b/database/sample_test.sql index 4dfe519..61904aa 100755 --- a/database/sample_test.sql +++ b/database/sample_test.sql @@ -1,24 +1,24 @@ LOCK TABLES `answers` WRITE; /*!40000 ALTER TABLE `answers` DISABLE KEYS */; -INSERT INTO `answers` VALUES (1521,1,'under most signature laws, a digitized hand writing attached to a scan of a document.',0),(1520,1,'under most signature laws, a digital seal containing a hash value',1),(1519,1,'a generic term used for different forms of signatures',1),(5,2,'true',1),(6,2,'false',0),(9,3,'Information about the Assurer who checked the identity of that person',0),(10,3,'information about the owner of the certificate',1),(11,3,'digitized fingerprints of the owner',0),(12,3,'day of birth of the owner',0),(13,3,'electronic fingerprints for the validation of the certificate and the owner of the certificate',1),(14,3,'issuing date and expiration date of the certificate',1),(15,4,'public key',1),(16,4,'private key',0),(17,4,'passphrase to the key',0),(22,6,'X.509 certificates',1),(23,6,'Skype certificates',0),(24,7,'5',0),(25,7,'10',0),(26,7,'50',0),(27,7,'unlimited',1),(28,8,'Currently it does not expire, but this may change in the future.',1),(29,8,'10 years',0),(30,8,'5 years',0),(31,8,'2 years',0),(955,9,'in the CAcert Community Agreement (CCA)',0),(954,9,'in the Certificate Practice Statement (CPS)',1),(953,9,'in the Certificate Overview Table (COT)',0),(1456,10,'code signing',1),(1455,10,'email encryption',1),(1454,10,'webserver encryption',1),(40,11,'You have to reach 150 assurance points',0),(41,11,'You have to reach 100 assurance points',1),(42,11,'You have to proof a university degree in IT studies',0),(43,11,'You need to successfully pass this online test',1),(44,11,'Three existing assurers must support your application',0),(45,12,'true',1),(46,12,'false',0),(50,13,'true',0),(51,13,'false',1),(1446,14,'You have to collect a fee of USD 5.00 from any person you assure',0),(1447,14,'You have to accept and act according to the current rules for accomplishing an assurance.',1),(1445,14,'You must keep the CAP forms of all assurances for 50 years',0),(1444,14,'You should ensure that your level of education in this field is up to date. Keep abreast for future training updates!',1),(59,15,'You did a good job, everything was correct',0),(60,15,'You did a good job, but there were minor flaws (like an expired document)',0),(61,15,'You commited deliberate actions, like knowingly making a false assurance',1),(62,16,'the local court of the Assurer',0),(63,16,'the local court of the User',0),(64,16,'the internal arbitration of CAcert ',1),(65,17,'0',0),(66,17,'10',0),(67,17,'25',0),(68,17,'55',0),(69,17,'75',0),(70,17,'110',0),(71,18,'1',0),(72,18,'2',1),(73,18,'5',0),(74,19,'Is the applicant beautiful?',0),(75,19,'Is the number of the ID card written on the form?',0),(76,19,'Is the form completely filled out?',1),(77,19,'Is the name, day of birth and signature on the form identical to those on the presented ID card?',1),(78,19,'Does the copy of the ID card match the presented ID card?',0),(79,19,'Can you clearly read the email adress?',1),(80,20,'governmental ID card',1),(81,20,'student ID',0),(82,20,'credit card',0),(83,20,'passport',1),(84,20,'drivers licence',1),(85,20,'membership card',0),(1461,21,'Picture and ID is stamped',1),(1460,21,'Hologram',1),(1459,21,'Printing style',1),(90,22,'true',0),(91,22,'false',1),(94,23,'true',0),(95,23,'false',1),(98,24,'To do the assurance and register back at home on his own system',1),(99,24,'To use your laptop to register, then do the assurance',0),(102,26,'If the picture on the ID card cannot be matched with the applicant',1),(103,26,'If the signature on the ID card does not match the signature on the form',1),(104,26,'If the security characteristics are damaged',1),(105,26,'If the applicant asks about the checks you do',0),(106,26,'If the ID card was issued several years ago (even if everything matches fine)',0),(107,27,'true',0),(108,27,'false',1),(109,28,'true',1),(110,28,'false',0),(111,29,'true',0),(112,29,'false',1),(1466,30,'Ask the browser vendors',0),(1467,30,'Read the Wiki at http://wiki.cacert.org',1),(1465,30,'Join the CAcert mailing lists',1),(1464,30,'Contact the support team through the support form or write them a mail',1),(946,31,'A passport issued by governments to special ops to conceal their identity',0),(945,31,'A passport with a special envelope to hide it from possible thiefs',0),(121,32,'A passport for an artist using a pseudonym',0),(122,32,'A club card designed to resemble a real passport.',1),(123,32,'A passport with an artist designed cover',0),(124,33,'Serial number',0),(125,33,'Photo of the owner',1),(126,33,'Date of birth',1),(127,33,'Place of birth',0),(128,33,'Issuing country',1),(129,33,'Home address',0),(130,33,'Machine readable data',0),(131,33,'RFID chip containing biometric data',0),(132,33,'Issuing authority',1),(944,31,'A \\\"passport\\\" issued in the name of non-existent country that is intended to look like a real country\\\'s passport.',1),(956,9,'in the Browser Vendors Usage Guidelines (BVUG)',0),(1457,10,'document signatures (as agreed by contract)',1),(1458,10,'secure high value transactions',0),(1462,21,'Machine readable part',1),(1463,21,'extra fragile paper',0),(1468,30,'All local unix groups offer offical CAcert support',0),(1522,1,'a signature created with a digital pen',0); +INSERT INTO `answers`(`a_id`,`q_id`,`answer`,`correct`) VALUES (1521,1,'under most signature laws, a digitized hand writing attached to a scan of a document.',0),(1520,1,'under most signature laws, a digital seal containing a hash value',1),(1519,1,'a generic term used for different forms of signatures',1),(5,2,'true',1),(6,2,'false',0),(9,3,'Information about the Assurer who checked the identity of that person',0),(10,3,'information about the owner of the certificate',1),(11,3,'digitized fingerprints of the owner',0),(12,3,'day of birth of the owner',0),(13,3,'electronic fingerprints for the validation of the certificate and the owner of the certificate',1),(14,3,'issuing date and expiration date of the certificate',1),(15,4,'public key',1),(16,4,'private key',0),(17,4,'passphrase to the key',0),(22,6,'X.509 certificates',1),(23,6,'Skype certificates',0),(24,7,'5',0),(25,7,'10',0),(26,7,'50',0),(27,7,'unlimited',1),(28,8,'Currently it does not expire, but this may change in the future.',1),(29,8,'10 years',0),(30,8,'5 years',0),(31,8,'2 years',0),(955,9,'in the CAcert Community Agreement (CCA)',0),(954,9,'in the Certificate Practice Statement (CPS)',1),(953,9,'in the Certificate Overview Table (COT)',0),(1456,10,'code signing',1),(1455,10,'email encryption',1),(1454,10,'webserver encryption',1),(40,11,'You have to reach 150 assurance points',0),(41,11,'You have to reach 100 assurance points',1),(42,11,'You have to proof a university degree in IT studies',0),(43,11,'You need to successfully pass this online test',1),(44,11,'Three existing assurers must support your application',0),(45,12,'true',1),(46,12,'false',0),(50,13,'true',0),(51,13,'false',1),(1446,14,'You have to collect a fee of USD 5.00 from any person you assure',0),(1447,14,'You have to accept and act according to the current rules for accomplishing an assurance.',1),(1445,14,'You must keep the CAP forms of all assurances for 50 years',0),(1444,14,'You should ensure that your level of education in this field is up to date. Keep abreast for future training updates!',1),(59,15,'You did a good job, everything was correct',0),(60,15,'You did a good job, but there were minor flaws (like an expired document)',0),(61,15,'You commited deliberate actions, like knowingly making a false assurance',1),(62,16,'the local court of the Assurer',0),(63,16,'the local court of the User',0),(64,16,'the internal arbitration of CAcert ',1),(65,17,'0',0),(66,17,'10',0),(67,17,'25',0),(68,17,'55',0),(69,17,'75',0),(70,17,'110',0),(71,18,'1',0),(72,18,'2',1),(73,18,'5',0),(74,19,'Is the applicant beautiful?',0),(75,19,'Is the number of the ID card written on the form?',0),(76,19,'Is the form completely filled out?',1),(77,19,'Is the name, day of birth and signature on the form identical to those on the presented ID card?',1),(78,19,'Does the copy of the ID card match the presented ID card?',0),(79,19,'Can you clearly read the email adress?',1),(80,20,'governmental ID card',1),(81,20,'student ID',0),(82,20,'credit card',0),(83,20,'passport',1),(84,20,'drivers licence',1),(85,20,'membership card',0),(1461,21,'Picture and ID is stamped',1),(1460,21,'Hologram',1),(1459,21,'Printing style',1),(90,22,'true',0),(91,22,'false',1),(94,23,'true',0),(95,23,'false',1),(98,24,'To do the assurance and register back at home on his own system',1),(99,24,'To use your laptop to register, then do the assurance',0),(102,26,'If the picture on the ID card cannot be matched with the applicant',1),(103,26,'If the signature on the ID card does not match the signature on the form',1),(104,26,'If the security characteristics are damaged',1),(105,26,'If the applicant asks about the checks you do',0),(106,26,'If the ID card was issued several years ago (even if everything matches fine)',0),(107,27,'true',0),(108,27,'false',1),(109,28,'true',1),(110,28,'false',0),(111,29,'true',0),(112,29,'false',1),(1466,30,'Ask the browser vendors',0),(1467,30,'Read the Wiki at http://wiki.cacert.org',1),(1465,30,'Join the CAcert mailing lists',1),(1464,30,'Contact the support team through the support form or write them a mail',1),(946,31,'A passport issued by governments to special ops to conceal their identity',0),(945,31,'A passport with a special envelope to hide it from possible thiefs',0),(121,32,'A passport for an artist using a pseudonym',0),(122,32,'A club card designed to resemble a real passport.',1),(123,32,'A passport with an artist designed cover',0),(124,33,'Serial number',0),(125,33,'Photo of the owner',1),(126,33,'Date of birth',1),(127,33,'Place of birth',0),(128,33,'Issuing country',1),(129,33,'Home address',0),(130,33,'Machine readable data',0),(131,33,'RFID chip containing biometric data',0),(132,33,'Issuing authority',1),(944,31,'A \\\"passport\\\" issued in the name of non-existent country that is intended to look like a real country\\\'s passport.',1),(956,9,'in the Browser Vendors Usage Guidelines (BVUG)',0),(1457,10,'document signatures (as agreed by contract)',1),(1458,10,'secure high value transactions',0),(1462,21,'Machine readable part',1),(1463,21,'extra fragile paper',0),(1468,30,'All local unix groups offer offical CAcert support',0),(1522,1,'a signature created with a digital pen',0); /*!40000 ALTER TABLE `answers` ENABLE KEYS */; UNLOCK TABLES; LOCK TABLES `question_description` WRITE; /*!40000 ALTER TABLE `question_description` DISABLE KEYS */; -INSERT INTO `question_description` VALUES (31,'Camuflage passports can be purchased and are usually used by individuals who are afraid of being singled out for a crime because of their nationality. See http://en.wikipedia.org/wiki/Camouflage_passport'),(22,'Nobody can force you to give points. If you are unsure, even if it is not the applicant\\\'s fault, give less or even no points.'),(23,'An expired document is not valid any more. If it\\\'s recently (<1 year) expired you can accept it at your own risk, but keep in mind that maybe you\\\'ll have to explain this some time in the future!'),(24,'It is too easy to watch someone creating an account during a public event, so please advise the person to do it at home.'),(27,'If the applicant is a close friend or family member s/he surely has no problem showing you a valid id. Everything else puts you in a bad situation, just in case some silly little mistake should happen...'),(28,'Note that you MUST TELL IT IN ADVANCE if you want to charge for an assurance! If you forget this the applicant may demand a free assurance.'),(29,'I\\\'m sure you checked the correct answer. ;)\r\nThe damage done by a VIP who is assured on invalid documents may be much greater.'),(32,'See http://en.wikipedia.org/wiki/Camouflage_passport'),(33,'CAcert policy demands a photo of the owner and the date of birth. If a passport does not contain an issuing country and authority it is no passport. The rest of the data may or may not be contained in a passport, there is no internationally accepted standard for that.'),(20,'Remember the term \\"goverment issued Photo ID\\"! Note that there are rumours about passports without a Photograph. Should you encounter one of those it does not count as \\"Photo ID\\"...'),(21,'All these characteristics are often used, depending on techniques used for a specific ID.'),(26,'If the ID is expired it is not acceptable, but it it\\\'s just old...'),(12,'Of course as usual IDs have to be provided and a CAP form has to be signed by the person as well as by a legal agent.'),(30,'Perhaps a local unix group can also offer support, but you can\\\'t rely on that.'),(15,'CAcert tries to reduce liability to a sensible amount, but if you make false assurances just for fun, someone might get you...'),(19,'These are not the only things, just some that tend to be overlooked! Have a look at http://wiki.cacert.org/wiki/PolicyDrafts/AssurancePolicy for other info.'),(11,'Note that this is not fixed principle, it may change is other requirements are deemed appropriate.'),(10,'CAcert does discurage using its certificate for high value transactions. If you use them for this purpose it\\\'s completely your own risk.'),(3,'Currently a certificate may optionally include one or more verified eMail addresses, a \\"Single Sign On ID\\" and (if the User is assured to 50 points) the name. All X509 certificates have to include issuing and expiry dates.'); +INSERT INTO `question_description`(`q_id`,`description`) VALUES (31,'Camuflage passports can be purchased and are usually used by individuals who are afraid of being singled out for a crime because of their nationality. See http://en.wikipedia.org/wiki/Camouflage_passport'),(22,'Nobody can force you to give points. If you are unsure, even if it is not the applicant\\\'s fault, give less or even no points.'),(23,'An expired document is not valid any more. If it\\\'s recently (<1 year) expired you can accept it at your own risk, but keep in mind that maybe you\\\'ll have to explain this some time in the future!'),(24,'It is too easy to watch someone creating an account during a public event, so please advise the person to do it at home.'),(27,'If the applicant is a close friend or family member s/he surely has no problem showing you a valid id. Everything else puts you in a bad situation, just in case some silly little mistake should happen...'),(28,'Note that you MUST TELL IT IN ADVANCE if you want to charge for an assurance! If you forget this the applicant may demand a free assurance.'),(29,'I\\\'m sure you checked the correct answer. ;)\r\nThe damage done by a VIP who is assured on invalid documents may be much greater.'),(32,'See http://en.wikipedia.org/wiki/Camouflage_passport'),(33,'CAcert policy demands a photo of the owner and the date of birth. If a passport does not contain an issuing country and authority it is no passport. The rest of the data may or may not be contained in a passport, there is no internationally accepted standard for that.'),(20,'Remember the term \\"goverment issued Photo ID\\"! Note that there are rumours about passports without a Photograph. Should you encounter one of those it does not count as \\"Photo ID\\"...'),(21,'All these characteristics are often used, depending on techniques used for a specific ID.'),(26,'If the ID is expired it is not acceptable, but it it\\\'s just old...'),(12,'Of course as usual IDs have to be provided and a CAP form has to be signed by the person as well as by a legal agent.'),(30,'Perhaps a local unix group can also offer support, but you can\\\'t rely on that.'),(15,'CAcert tries to reduce liability to a sensible amount, but if you make false assurances just for fun, someone might get you...'),(19,'These are not the only things, just some that tend to be overlooked! Have a look at http://wiki.cacert.org/wiki/PolicyDrafts/AssurancePolicy for other info.'),(11,'Note that this is not fixed principle, it may change is other requirements are deemed appropriate.'),(10,'CAcert does discurage using its certificate for high value transactions. If you use them for this purpose it\\\'s completely your own risk.'),(3,'Currently a certificate may optionally include one or more verified eMail addresses, a \\"Single Sign On ID\\" and (if the User is assured to 50 points) the name. All X509 certificates have to include issuing and expiry dates.'); /*!40000 ALTER TABLE `question_description` ENABLE KEYS */; UNLOCK TABLES; LOCK TABLES `questions` WRITE; /*!40000 ALTER TABLE `questions` DISABLE KEYS */; -INSERT INTO `questions` VALUES (1,2,1,'[1]An electronic signature is: (check 2)','1','0',NULL,NULL),(2,3,1,'[2]A digital certificate is a cryptographic key and some information about the owner of that key','1','0',NULL,NULL),(3,2,1,'[3]A digital certificate issued by CAcert can contain the following elements: (check 3)','1','1',NULL,NULL),(4,1,1,'[4]If you want to send ALICE a message which is encrypted, you need her','1','0',NULL,NULL),(6,1,1,'[6]Which type of certificates does CAcert issue?','1','0',NULL,NULL),(7,1,1,'[7]How many certificates (SSL, email, code signing) can you get for free as a registered user of CAcert?','1','0',NULL,NULL),(8,1,1,'[8]How long is your identity check valid (under normal circumstances)?','1','0',NULL,NULL),(9,1,1,'[9]Types of certificates, their appropriate usage and corresponding applications are defined ...','1','0',NULL,NULL),(10,2,1,'[10]Which certificate usages are appropriate according to the rules? (check 4)','1','1',NULL,NULL),(11,2,1,'[11]What are the requirements for becoming an assurer? (check 2)','1','1',NULL,NULL),(12,3,1,'[12]As an Assurer, you are allowed to assure underage persons and issue assurance points up to the maximum you are currently allowed.','1','1',NULL,NULL),(13,3,1,'[13]If you have any doubts about the identity of a person, you should still assure that person and report your doubts afterwards.','1','0',NULL,NULL),(14,2,1,'[14]Which obligations do you have as an assurer? (check 2)','1','0',NULL,NULL),(15,1,1,'[15]In which case is it most likely that you can be made liable for your assurances?','1','1',NULL,NULL),(16,1,1,'[16]Disputes between users and assurers are dealt at','1','0',NULL,NULL),(17,4,1,'(17)Below [50] points, you can only get client certificates without your name included, valid for 6 month. When reaching [100] points, you can apply for a code-signing certificate and become an assurer by passing this test. The maximum number of points you can reach by assuring other people is [150]. Then you can issue up to [35] points of trust.','1','0',NULL,NULL),(18,1,1,'[18]How many additional points (up to a maximum of 150) do you get by assuring other people (per assurance)?','1','0',NULL,NULL),(19,2,1,'[19]As an assurer, you have to check the following: (check 3)','1','1',NULL,NULL),(20,2,1,'[20]Which of the following documents are valid IDs in terms of the CPS? (check 3)','1','1',NULL,NULL),(21,2,1,'[21]Which are typical (may vary between countries) characteristics of an ID card? (check 4)','1','1',NULL,NULL),(22,3,1,'[22]As long as the presented ID is valid, I have to assure that person, even if I am not sure about the picture on the ID.','1','1',NULL,NULL),(23,3,1,'[23]An expired ID card is still fine as the only identity proof during an assurance.','1','1',NULL,NULL),(24,1,1,'[24]During an event, a person who has not yet registered approaches you. You recommend him:','1','1',NULL,NULL),(26,2,1,'[26]Which situations during an identity check prohibit completion of an assurance? (check 3)','1','1',NULL,NULL),(27,3,1,'[27]If an applicant is a family member or a close friend, there is no need to check his ID. The trust you have in him ought to be enough.','1','1',NULL,NULL),(28,3,1,'[28]CAcert certificates are always free of charge, but you are allowed to charge a small fee from an applicant to cover your costs (time, travel, etc.) if you tell him that in advance.','1','1',NULL,NULL),(29,3,1,'[29]VIP\\\'s are very important to CAcert as they can be of great help (or great harm) when they talk to the press. Therefore, you should always pass their assurance, even if some documents are not OK.','1','1',NULL,NULL),(30,2,1,'[30]Where can you get support on CAcert issues? (check 3)','1','1',NULL,NULL),(31,1,1,'[31]What is a \\"camouflage passport\\"?','1','1',NULL,NULL),(32,1,1,'[32]What is a \\"fantasy passport\\"?','1','1',NULL,NULL),(33,2,1,'[33]Which of the following are among the minimum requirements for a passport accepted for a CAcert assurance? (check 4)','1','1',NULL,NULL); +INSERT INTO `questions`(`q_id`,`qt_id`,`t_id`,`question`,`active`,`description`,`ref_q_id`,`translationstatus`) VALUES (1,2,1,'[1]An electronic signature is: (check 2)','1','0',NULL,NULL),(2,3,1,'[2]A digital certificate is a cryptographic key and some information about the owner of that key','1','0',NULL,NULL),(3,2,1,'[3]A digital certificate issued by CAcert can contain the following elements: (check 3)','1','1',NULL,NULL),(4,1,1,'[4]If you want to send ALICE a message which is encrypted, you need her','1','0',NULL,NULL),(6,1,1,'[6]Which type of certificates does CAcert issue?','1','0',NULL,NULL),(7,1,1,'[7]How many certificates (SSL, email, code signing) can you get for free as a registered user of CAcert?','1','0',NULL,NULL),(8,1,1,'[8]How long is your identity check valid (under normal circumstances)?','1','0',NULL,NULL),(9,1,1,'[9]Types of certificates, their appropriate usage and corresponding applications are defined ...','1','0',NULL,NULL),(10,2,1,'[10]Which certificate usages are appropriate according to the rules? (check 4)','1','1',NULL,NULL),(11,2,1,'[11]What are the requirements for becoming an assurer? (check 2)','1','1',NULL,NULL),(12,3,1,'[12]As an Assurer, you are allowed to assure underage persons and issue assurance points up to the maximum you are currently allowed.','1','1',NULL,NULL),(13,3,1,'[13]If you have any doubts about the identity of a person, you should still assure that person and report your doubts afterwards.','1','0',NULL,NULL),(14,2,1,'[14]Which obligations do you have as an assurer? (check 2)','1','0',NULL,NULL),(15,1,1,'[15]In which case is it most likely that you can be made liable for your assurances?','1','1',NULL,NULL),(16,1,1,'[16]Disputes between users and assurers are dealt at','1','0',NULL,NULL),(17,4,1,'(17)Below [50] points, you can only get client certificates without your name included, valid for 6 month. When reaching [100] points, you can apply for a code-signing certificate and become an assurer by passing this test. The maximum number of points you can reach by assuring other people is [150]. Then you can issue up to [35] points of trust.','1','0',NULL,NULL),(18,1,1,'[18]How many additional points (up to a maximum of 150) do you get by assuring other people (per assurance)?','1','0',NULL,NULL),(19,2,1,'[19]As an assurer, you have to check the following: (check 3)','1','1',NULL,NULL),(20,2,1,'[20]Which of the following documents are valid IDs in terms of the CPS? (check 3)','1','1',NULL,NULL),(21,2,1,'[21]Which are typical (may vary between countries) characteristics of an ID card? (check 4)','1','1',NULL,NULL),(22,3,1,'[22]As long as the presented ID is valid, I have to assure that person, even if I am not sure about the picture on the ID.','1','1',NULL,NULL),(23,3,1,'[23]An expired ID card is still fine as the only identity proof during an assurance.','1','1',NULL,NULL),(24,1,1,'[24]During an event, a person who has not yet registered approaches you. You recommend him:','1','1',NULL,NULL),(26,2,1,'[26]Which situations during an identity check prohibit completion of an assurance? (check 3)','1','1',NULL,NULL),(27,3,1,'[27]If an applicant is a family member or a close friend, there is no need to check his ID. The trust you have in him ought to be enough.','1','1',NULL,NULL),(28,3,1,'[28]CAcert certificates are always free of charge, but you are allowed to charge a small fee from an applicant to cover your costs (time, travel, etc.) if you tell him that in advance.','1','1',NULL,NULL),(29,3,1,'[29]VIP\\\'s are very important to CAcert as they can be of great help (or great harm) when they talk to the press. Therefore, you should always pass their assurance, even if some documents are not OK.','1','1',NULL,NULL),(30,2,1,'[30]Where can you get support on CAcert issues? (check 3)','1','1',NULL,NULL),(31,1,1,'[31]What is a \\"camouflage passport\\"?','1','1',NULL,NULL),(32,1,1,'[32]What is a \\"fantasy passport\\"?','1','1',NULL,NULL),(33,2,1,'[33]Which of the following are among the minimum requirements for a passport accepted for a CAcert assurance? (check 4)','1','1',NULL,NULL); /*!40000 ALTER TABLE `questions` ENABLE KEYS */; UNLOCK TABLES; LOCK TABLES `topics` WRITE; /*!40000 ALTER TABLE `topics` DISABLE KEYS */; -INSERT INTO `topics` VALUES (1,'Assurer\\\'s challenge (EN)',1,25,80,'en'); +INSERT INTO `topics`(`t_id`,`topic`,`active`,`numOfQu`,`percentage`,`lang`) VALUES (1,'Assurer\\\'s challenge (EN)',1,25,80,'en'); /*!40000 ALTER TABLE `topics` ENABLE KEYS */; UNLOCK TABLES; From 43c084d21acf589ded0efda46a743bb1c88b2e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Thu, 14 Mar 2013 00:01:00 +0100 Subject: [PATCH 4/7] Added questiontype_v2 --- database/create_db.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/database/create_db.sql b/database/create_db.sql index 57b7c35..e9c39f9 100755 --- a/database/create_db.sql +++ b/database/create_db.sql @@ -178,6 +178,31 @@ CREATE TABLE `user_address` ( PRIMARY KEY (`user_id`,`root`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; +-- +-- Table structure for table `questiontype_v2` +-- + +DROP TABLE IF EXISTS `questiontype_v2`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `questiontype_v2` ( + `qt_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Fragetypenschlssel', + `lang` varchar(5) COLLATE latin1_general_ci NOT NULL DEFAULT '' COMMENT 'Sprache', + `qt_desc` varchar(25) COLLATE latin1_general_ci NOT NULL DEFAULT '' COMMENT 'Fragetyp', + PRIMARY KEY (`qt_id`,`lang`) +) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Fragetypen'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `questiontype_v2` +-- + +LOCK TABLES `questiontype_v2` WRITE; +/*!40000 ALTER TABLE `questiontype_v2` DISABLE KEYS */; +INSERT INTO `questiontype_v2` VALUES (1,'DE','Einfachauswahl'),(2,'DE','Mehrfachauswahl'),(3,'DE','Richtig / Falsch'),(4,'DE','Lückentext'),(1,'EN','single selection'),(2,'EN','multiple choice'),(3,'EN','true / false'),(4,'EN','fill in the blanks'),(1,'FR','single selection'),(2,'FR','multiple choice'),(3,'FR','true / false'),(4,'FR','fill in the blanks'),(1,'ES','single selection'),(2,'ES','multiple choice'),(3,'ES','true / false'),(4,'ES','fill in the blanks'); +/*!40000 ALTER TABLE `questiontype_v2` ENABLE KEYS */; +UNLOCK TABLES; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; From f4b5012a08c530f31cc6650e4ea2e3ea722208bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Sat, 6 Apr 2013 16:14:22 +0200 Subject: [PATCH 5/7] More details... --- INSTALL.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/INSTALL.txt b/INSTALL.txt index a00f2af..1be305c 100755 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -4,11 +4,15 @@ Installation procedure for CATS Prerequesites ------------- -- Apache 2.2.4 ist installed and configured to run with HTTPS. The CAcert roots should +Note that the version numbers are for the versions used to verify the procedure. +There are no explicit version dependencies, so the software should run with newer versions, +and will probably also support (moderately) older ones. + +- Apache 2.2.4 is installed and configured to run with HTTPS. The CAcert roots should be trusted. - PHP 5.2.4 - MySQL (Version 5.0) is installed and running -- git is installed and has access to github.com +- git (version 1.5.2.4) is installed and has access to github.com - You have a browser with a valid CAcert client certificate installed - You may want to set up your own CAcert testsystem like described in https://wiki.cacert.org/Software to play around with certificates more freely @@ -28,10 +32,14 @@ Setup CREATE USER cats-user IDENTIFIED BY ''; - Grant the necessary user rights. These are a bit more than the absolute minimum: GRANT DELETE, INSERT, SELECT, UPDATE ON cats_db.* TO cats_user; -- Change the database to the newly created cats_db: +- Change the database context to the newly created cats_db: USE cats_db; - Execute the scripts from the database subdirectory to create the database structure. - First execute create_db.sql, then all update*.sql in numerical order +- Check the current version of the database: + SELECT MAX(version) FROM schema_version; +- Execute all update*.sql in numerical order which have a number bigger than the current + schema version. If the select statement returns an error (ERROR 1146 (42S02): Table + 'cats_db.schema_version' doesn't exist) execute all of them. - Change to cats directory, copy index.php.template to index.php - Edit index.php, replace the string "FILEPATHTOHERE" with the absolute path of the From 502a4277c47c7afed67c1e367f6be913931e7c68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Sat, 6 Apr 2013 16:47:54 +0200 Subject: [PATCH 6/7] More --- INSTALL.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/INSTALL.txt b/INSTALL.txt index 1be305c..9b8a966 100755 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -34,12 +34,17 @@ Setup GRANT DELETE, INSERT, SELECT, UPDATE ON cats_db.* TO cats_user; - Change the database context to the newly created cats_db: USE cats_db; -- Execute the scripts from the database subdirectory to create the database structure. +- Execute the scripts from the database subdirectory to create the database structure: + SOURCE create_db.sql; - Check the current version of the database: SELECT MAX(version) FROM schema_version; - Execute all update*.sql in numerical order which have a number bigger than the current schema version. If the select statement returns an error (ERROR 1146 (42S02): Table 'cats_db.schema_version' doesn't exist) execute all of them. + SOURCE update1.sql; +- You will probably want to load a sample test by executing sample_test.sql from the + database directory: + SOURCE sample_test.sql; - Change to cats directory, copy index.php.template to index.php - Edit index.php, replace the string "FILEPATHTOHERE" with the absolute path of the @@ -47,7 +52,6 @@ Setup - Change to the includes subdirectory - Copy db_connect.inc.template to db_connect.inc - Edit db_connect.inc -- You may want to install a sample test by executing sample_test.sql from the database directory - Make sure that the directive "SSLVerifyClient optional" or "SSLVerifyClient require" are active for the CATS web directory, otherwise no client certificate login is requested From e58cd77cd7c495e2d8cac9f49bfdcab2cac9c53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Fr=C3=B6hlich?= Date: Sat, 6 Apr 2013 16:49:51 +0200 Subject: [PATCH 7/7] Bugfix in SQL script --- database/update1.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/database/update1.sql b/database/update1.sql index 1352b6f..f575bc5 100644 --- a/database/update1.sql +++ b/database/update1.sql @@ -3,15 +3,15 @@ `id` int(11) PRIMARY KEY auto_increment, `version` int(11) NOT NULL UNIQUE, `when` datetime NOT NULL - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; --- alter learnprogress by one column ALTER TABLE `learnprogress` ADD `passed` int(11) NOT NULL DEFAULT '0'; --- update new column passed with -1 - UPDATE `learnprogress` SET `passed`=-1 + UPDATE `learnprogress` SET `passed`=-1; --- update schema version number INSERT INTO `schema_version` (`version`, `when`) VALUES - ('1' , NOW() ); \ No newline at end of file + ('1' , NOW() );