diff --git a/Documentation/3rd-party_support.md b/Documentation/3rd-party_support.md
deleted file mode 100644
index 26d142d9..00000000
--- a/Documentation/3rd-party_support.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The MassBank software landscape
-
-Several external software are supporting access to MassBank data.
-These inlude parsers to read or write the current MassBank format,
-or converters between MassBank and other library formats.
-
-
diff --git a/Documentation/AddMetaData.md b/Documentation/AddMetaData.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/Documentation/Validator.md b/Documentation/Validator.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/ProjectPropertiesLoader.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/ProjectPropertiesLoader.java
new file mode 100644
index 00000000..1ef08cd9
--- /dev/null
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/ProjectPropertiesLoader.java
@@ -0,0 +1,18 @@
+package massbank;
+
+import java.io.IOException;
+import java.util.Properties;
+
+public class ProjectPropertiesLoader {
+
+ public static Properties loadProperties() {
+ Properties properties = new Properties();
+ try {
+ properties.load(ProjectPropertiesLoader.class.getClassLoader().getResourceAsStream("project.properties"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ return properties;
+ }
+}
\ No newline at end of file
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/AddMetaData.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/AddMetaData.java
index 77802630..e2f0d45a 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/AddMetaData.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/AddMetaData.java
@@ -1,6 +1,5 @@
package massbank.cli;
-import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
@@ -10,20 +9,15 @@
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
+import java.nio.file.Path;
+import java.util.*;
+import java.util.AbstractMap.SimpleEntry;
import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import massbank.ProjectPropertiesLoader;
import massbank.RecordParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
@@ -31,7 +25,6 @@
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.logging.log4j.LogManager;
@@ -55,21 +48,18 @@
import de.undercouch.citeproc.bibtex.BibTeXConverter;
import de.undercouch.citeproc.bibtex.BibTeXItemDataProvider;
import io.github.dan2097.jnainchi.InchiStatus;
-import io.github.dan2097.jnainchi.JnaInchi;
-import massbank.PubchemResolver;
import massbank.Record;
-import org.petitparser.context.Result;
import java.util.stream.Collectors;
+import static massbank.cli.Validator.parseRecord;
+
/**
* This class adds meta information automatically where feasible and makes some automatic fixes. Supported functions are:
- * {@link doPub}
- * {@link doName}
- * {@link doLink}
- *
+ *
* @author rmeier
- * @version 27-06-2019
+ * @version 29-01-2025
+ * @version 29-01-2025
*/
public class AddMetaData {
private static final Logger logger = LogManager.getLogger(AddMetaData.class);
@@ -82,7 +72,7 @@ public class AddMetaData {
public static String getComptoxID(String INCHIKEY) throws JsonSyntaxException, MalformedURLException, IOException {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.fromJson(IOUtils.toString(new URL("https://actorws.epa.gov/actorws/chemIdentifier/v01/resolve.json?identifier=" + INCHIKEY),
- Charset.forName("UTF-8")), JsonObject.class).getAsJsonObject("DataRow").getAsJsonPrimitive("dtxsid").getAsString();
+ StandardCharsets.UTF_8), JsonObject.class).getAsJsonObject("DataRow").getAsJsonPrimitive("dtxsid").getAsString();
}
/**
@@ -96,14 +86,14 @@ public static String getChemspiderID(String INCHIKEY) throws JsonSyntaxException
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "");
connection.setRequestProperty("apikey", CHEMSPIDER_API_KEY);
- OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
+ OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8);
writer.write("{\"inchikey\": \"" + INCHIKEY + "\" }");
writer.close();
- String queryID = gson.fromJson(IOUtils.toString(connection.getInputStream(), Charset.forName("UTF-8")), JsonObject.class).getAsJsonPrimitive("queryId").getAsString();
+ String queryID = gson.fromJson(IOUtils.toString(connection.getInputStream(), StandardCharsets.UTF_8), JsonObject.class).getAsJsonPrimitive("queryId").getAsString();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "");
connection.setRequestProperty("apikey", CHEMSPIDER_API_KEY);
- return gson.fromJson(IOUtils.toString(connection.getInputStream(), Charset.forName("UTF-8")), JsonObject.class).getAsJsonArray("results").get(0).getAsString();
+ return gson.fromJson(IOUtils.toString(connection.getInputStream(), StandardCharsets.UTF_8), JsonObject.class).getAsJsonArray("results").get(0).getAsString();
}
@@ -130,7 +120,7 @@ public static String doPub(Record record, String recordstring) {
String formated_citation=null;
try {
// URL encode the doi
- String EncDoi=URLEncoder.encode(doi, StandardCharsets.UTF_8.toString());
+ String EncDoi=URLEncoder.encode(doi, StandardCharsets.UTF_8);
URLConnection conn = new URL("https://www.doi.org/"+EncDoi).openConnection();
conn.setRequestProperty("Accept", "application/x-bibtex");
BibTeXItemDataProvider p = new BibTeXItemDataProvider();
@@ -180,13 +170,13 @@ public static String doName(Record record, String recordstring) {
duplicates.add(c);
}
}
- if (duplicates.size()>0) {
+ if (!duplicates.isEmpty()) {
for (String d : duplicates) {
// find first occurrence
String fullDup = "CH$NAME: " + d + "\n";
int index = recordstring.indexOf(fullDup)+fullDup.length();
String begining = recordstring.substring(0, index);
- String end = recordstring.substring(index, recordstring.length()).replace(fullDup, "");
+ String end = recordstring.substring(index).replace(fullDup, "");
recordstring = begining + end;
}
}
@@ -368,7 +358,7 @@ else if (ret == InchiStatus.ERROR) {
ch_link.put("INCHIKEY", INCHIKEY);
//sort
ch_link=ch_link.entrySet().stream()
- .sorted(Map.Entry.comparingByKey())
+ .sorted(Entry.comparingByKey())
.collect(Collectors.toMap(Entry::getKey, Entry::getValue, (u, v) -> u, LinkedHashMap::new));
record.CH_LINK(ch_link);
}
@@ -423,7 +413,7 @@ else if (ret == InchiStatus.ERROR) {
ch_link.put("INCHIKEY", INCHIKEY);
//sort
ch_link=ch_link.entrySet().stream()
- .sorted(Map.Entry.comparingByKey())
+ .sorted(Entry.comparingByKey())
.collect(Collectors.toMap(Entry::getKey, Entry::getValue, (u, v) -> u, LinkedHashMap::new));
record.CH_LINK(ch_link);
}
@@ -489,121 +479,95 @@ else if (ret == InchiStatus.ERROR) {
public static void main(String[] arguments) throws Exception {
// load version and print
- final Properties properties = new Properties();
- try {
- properties.load(ClassLoader.getSystemClassLoader().getResourceAsStream("project.properties"));
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("AddMetaData version: " + properties.getProperty("version"));
// parse command line
- Options options = new Options();
- options.addOption("a", "all", false, "execute all operations");
- options.addOption("p", "publication", false, "format PUBLICATION tag from given DOI to follow the guidelines of ACS");
- options.addOption("n", "name", false, "fix common problems in CH$NAME tag");
- options.addOption("l", "link", false, "add links to CH$LINK tag");
- options.addOption("r", "rewrite", false, "read and rewrite the file.");
- options.addOption("ms_focused_ion", false, "Inspect MS$FOCUSED_ION");
- options.addOption(null, "add-inchikey", false, "Add or fix InChIKey from the value in CH$IUPAC");
- options.addOption(null, "add-pubchemcid", false, "Add or fix PubChem CID from InChIKey and flag Problems.");
- options.addOption(null, "smiles-from-inchi", false, "Set SMILES from existing InChi.");
- CommandLine cmd = null;
- try {
- cmd = new DefaultParser().parse( options, arguments);
- }
- catch(ParseException e) {
- // oops, something went wrong
- System.err.println( "Parsing command line failed. Reason: " + e.getMessage() );
- HelpFormatter formatter = new HelpFormatter();
- formatter.printHelp("AddMetaData [OPTIONS] [ ...]", options);
- System.exit(1);
- }
- if (cmd.getArgList().size() == 0) {
- HelpFormatter formatter = new HelpFormatter();
- formatter.printHelp("AddMetaData [OPTIONS] [ ...]", options);
- System.exit(1);
- }
-
- // find all files in arguments and all *.txt files in directories and subdirectories
- // specified in arguments
- List recordfiles = new ArrayList<>();
- for (String argument : cmd.getArgList()) {
- File argumentf = new File(argument);
- if (argumentf.isFile() && FilenameUtils.getExtension(argument).equals("txt")) {
- recordfiles.add(argumentf);
- } else if (argumentf.isDirectory()) {
- recordfiles.addAll(FileUtils.listFiles(argumentf, new String[] {"txt"}, true));
- } else {
- logger.warn("Argument " + argument + " could not be processed.");
- }
- }
-
- if (recordfiles.size() == 0 ) {
- logger.error("No files found.");
- System.exit(1);
- }
-
- // validate all files
- logger.trace("Validating " + recordfiles.size() + " files");
+ CommandLine cmd = parseCommandLine(arguments);
AtomicBoolean doAddPubchemCid = new AtomicBoolean(cmd.hasOption("add-pubchemcid"));
AtomicBoolean doSetSMILESfromInChi = new AtomicBoolean(cmd.hasOption("smiles-from-inchi"));
- recordfiles.parallelStream().forEach(filename -> {
- String recordString;
- logger.info("Working on " + filename + ".");
- try {
- recordString = FileUtils.readFileToString(filename, StandardCharsets.UTF_8);
- // read record in less strict mode
- RecordParser recordparser = new RecordParser(new HashSet<>());
- Result res = recordparser.parse(recordString);
- Record record = null;
- if (res.isFailure()) {
- System.err.println( "Parsing of \""+ filename + "\" failed. Exiting.");
- System.exit(1);
- } else {
- record = res.get();
- }
- if (record.DEPRECATED()) {
- System.exit(0);
- }
- String recordstring2 = recordString;
+ List recordFiles = Validator.findRecordFiles(cmd.getArgList());
+ if (recordFiles.isEmpty()) {
+ logger.error("No files found for validation.");
+ System.exit(1);
+ }
+
+ RecordParser recordparser = new RecordParser(new HashSet<>());
+ recordFiles.parallelStream()
+ .map(Validator::readFile)
+ .filter(Objects::nonNull)
+ .forEach(recordString -> {
+ logger.info("Working on {}.", recordString.getKey());
+ Record record = parseRecord(recordString, recordparser);
+ if (record == null || record.DEPRECATED()) return;
+
+ String recordStringAfterMod = recordString.getValue();
//if (cmd.hasOption("p") || cmd.hasOption("a")) recordstring2=doPub(record, recordstring2);
//if (cmd.hasOption("n") || cmd.hasOption("a")) recordstring2=doName(record, recordstring2);
//if (cmd.hasOption("l") || cmd.hasOption("a")) recordstring2=doLink(record);
//if (cmd.hasOption("ms_focused_ion") || cmd.hasOption("a")) recordstring2=doFocusedIon(record, recordstring2);
-
+
//if (cmd.hasOption("add-inchikey")) {
// recordstring2=doAddInchikey(record);
//}
-
+
+
if (doAddPubchemCid.get()) {
- recordstring2=doAddPubchemCID(record);
+ recordStringAfterMod=doAddPubchemCID(record);
}
if (doSetSMILESfromInChi.get()) {
- recordstring2=doSetSMILESfromInChi(record);
+ recordStringAfterMod=doSetSMILESfromInChi(record);
}
-
- if (!recordString.equals(recordstring2)) {
- res = recordparser.parse(recordstring2);
- Record record2 =null;
- if (res.isFailure()) {
+
+ if (!recordString.getValue().equals(recordStringAfterMod)) {
+ Record recordAfterMod = parseRecord(new SimpleEntry<>(recordString.getKey(), recordStringAfterMod), recordparser);
+
+ if (recordAfterMod == null) {
System.err.println( "Validation of new created record file failed. Do not write.");
} else {
try {
- FileUtils.write(filename, recordstring2, StandardCharsets.UTF_8);
+ FileUtils.write(recordString.getKey().toFile(), recordStringAfterMod, StandardCharsets.UTF_8);
}
catch(IOException exp) {
- System.err.println( "Writing file \""+ filename + "\" failed. Reason: " + exp.getMessage() );
+ System.err.println( "Writing file \""+ recordString.getKey() + "\" failed. Reason: " + exp.getMessage() );
System.exit(1);
}
}
}
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- });
+ });
+ }
+
+ private static CommandLine parseCommandLine(String[] arguments) {
+ // parse command line
+ Options options = new Options();
+ options.addOption("a", "all", false, "execute all operations");
+ options.addOption("p", "publication", false, "format PUBLICATION tag from given DOI to follow the guidelines of ACS");
+ options.addOption("n", "name", false, "fix common problems in CH$NAME tag");
+ options.addOption("l", "link", false, "add links to CH$LINK tag");
+ options.addOption("r", "rewrite", false, "read and rewrite the file.");
+ options.addOption("ms_focused_ion", false, "Inspect MS$FOCUSED_ION");
+ options.addOption(null, "add-inchikey", false, "Add or fix InChIKey from the value in CH$IUPAC");
+ options.addOption(null, "add-pubchemcid", false, "Add or fix PubChem CID from InChIKey and flag Problems.");
+ options.addOption(null, "smiles-from-inchi", false, "Set SMILES from existing InChi.");
+ CommandLine cmd = null;
+ try {
+ cmd = new DefaultParser().parse( options, arguments);
+ }
+ catch(ParseException e) {
+ // oops, something went wrong
+ System.err.println( "Parsing command line failed. Reason: " + e.getMessage() );
+ HelpFormatter formatter = new HelpFormatter();
+ formatter.printHelp("AddMetaData [OPTIONS] [ ...]", options);
+ System.exit(1);
+ }
+ if (cmd.getArgList().isEmpty()) {
+ HelpFormatter formatter = new HelpFormatter();
+ formatter.printHelp("AddMetaData [OPTIONS] [ ...]", options);
+ System.exit(1);
+ }
+
+
+ return cmd;
}
}
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Inspector.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Inspector.java
index 76a3af77..eae5f970 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Inspector.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Inspector.java
@@ -20,6 +20,7 @@
******************************************************************************/
package massbank.cli;
+import massbank.ProjectPropertiesLoader;
import massbank.Record;
import massbank.RecordParser;
import org.apache.commons.cli.*;
@@ -59,13 +60,7 @@ static String getResourceFileAsString(String fileName) throws IOException {
public static void main(String[] arguments) throws Exception {
// load version and print
- final Properties properties = new Properties();
- try {
- properties.load(ClassLoader.getSystemClassLoader().getResourceAsStream("project.properties"));
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("Inspector version: " + properties.getProperty("version"));
// parse command line
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Msbnk2JSONLD.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Msbnk2JSONLD.java
index e8de3482..f4fc286c 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Msbnk2JSONLD.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Msbnk2JSONLD.java
@@ -6,14 +6,13 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Properties;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
+
+import massbank.ProjectPropertiesLoader;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
@@ -77,13 +76,7 @@ public static Record validate(String recordString, Set config) {
public static void main(String[] arguments) {
// load version and print
- final Properties properties = new Properties();
- try {
- properties.load(ClassLoader.getSystemClassLoader().getResourceAsStream("project.properties"));
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("Msbnk2JSONLD version: " + properties.getProperty("version"));
// parse command line
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RecordExporter.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RecordExporter.java
index 8d4fd346..6a8d25d8 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RecordExporter.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RecordExporter.java
@@ -20,6 +20,7 @@
******************************************************************************/
package massbank.cli;
+import massbank.ProjectPropertiesLoader;
import massbank.Record;
import massbank.RecordParser;
import massbank.export.RecordToJson;
@@ -55,7 +56,7 @@ public class RecordExporter {
public static void main(String[] arguments) {
// load version and print
- Properties properties = Validator.loadProperties();
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("Exporter version: " + properties.getProperty("version"));
// parse command line
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RefreshDatabase.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RefreshDatabase.java
index ee2ed797..5cc6235f 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RefreshDatabase.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/RefreshDatabase.java
@@ -20,6 +20,7 @@
******************************************************************************/
package massbank.cli;
+import massbank.ProjectPropertiesLoader;
import massbank.db.DatabaseManager;
import massbank.repository.RepositoryInterface;
import massbank.repository.SimpleFileRepository;
@@ -48,7 +49,7 @@ public class RefreshDatabase {
public static void main(String[] args) throws SQLException, IOException, ConfigurationException {
// load version and print
- Properties properties = Validator.loadProperties();
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("RefreshDatabase version: " + properties.getProperty("version"));
logger.trace("Remove all entries from database.");
@@ -71,6 +72,7 @@ public static void main(String[] args) throws SQLException, IOException, Configu
System.out.printf("\rProgress: %d/%d %.0f%%", progress, totalRecords, (progress * 100.0 / totalRecords));
}
});
+ System.out.println();
logger.info("Setting version of database to: {}.", repo.getRepoVersion());
DatabaseManager.setRepoVersion(repo.getRepoVersion());
diff --git a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Validator.java b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Validator.java
index d4514ee8..3bb864b8 100644
--- a/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Validator.java
+++ b/MassBank-Project/MassBank-lib/src/main/java/massbank/cli/Validator.java
@@ -20,6 +20,7 @@
******************************************************************************/
package massbank.cli;
+import massbank.ProjectPropertiesLoader;
import massbank.Record;
import massbank.RecordParser;
import massbank.RecordParserDefinition;
@@ -71,7 +72,7 @@ public class Validator {
public static void main(String[] arguments) throws SQLException, ConfigurationException {
// load version and print
- Properties properties = loadProperties();
+ Properties properties = ProjectPropertiesLoader.loadProperties();
System.out.println("Validator version: " + properties.getProperty("version"));
// parse command line
@@ -114,22 +115,6 @@ public static void main(String[] arguments) throws SQLException, ConfigurationEx
else System.exit(0);
}
- /**
- * Reads the properties file and loads the properties.
- *
- * @return the loaded properties
- */
- public static Properties loadProperties() {
- Properties properties = new Properties();
- try {
- properties.load(ClassLoader.getSystemClassLoader().getResourceAsStream("project.properties"));
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- return properties;
- }
-
/**
* Parses the command line arguments.
*
diff --git a/Vagrantfile b/Vagrantfile
deleted file mode 100644
index 0ed4c37e..00000000
--- a/Vagrantfile
+++ /dev/null
@@ -1,36 +0,0 @@
-Vagrant.configure("2") do |config|
- config.vm.box = "ubuntu/bionic64"
-
- config.vm.provision "docker",
- images: ["mariadb:latest", "tomcat:latest" , "maven:latest"]
-
- config.vm.synced_folder '.', '/massbank/MassBank-web'
- config.vm.synced_folder '../MassBank-data', '/massbank/MassBank-data'
-
- config.vm.provision "shell", inline: <<-SHELL
- hostnamectl set-hostname massbank
- curl -s -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
- cd /massbank/MassBank-web
- ./install.sh start 0
- apt install apache2 -y
- a2enmod ssl rewrite proxy_http
- cp -r conf/apache2/* /etc/apache2/
- a2dissite 000-default
- a2ensite massbank massbank-ssl
- systemctl reload apache2
- SHELL
-
- # Create a private network, which allows host-only access to the machine
- # using a specific IP.
- config.vm.network "private_network", ip: "192.168.35.18"
-
- # Provider-specific configuration so you can fine-tune various
- # backing providers for Vagrant. These expose provider-specific options.
- # Example for VirtualBox:
- #
- config.vm.provider "virtualbox" do |vb|
- vb.memory = 4096
- vb.cpus = 2
- end
-end
diff --git a/compose/full-service.yml b/compose/full-service.yml
index 5ef0b6fb..2ce60f9a 100644
--- a/compose/full-service.yml
+++ b/compose/full-service.yml
@@ -1,6 +1,6 @@
services:
mariadb:
- image: mariadb:11
+ image: mariadb:latest
volumes:
- $PWD/modules/sql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
environment:
@@ -18,9 +18,15 @@ services:
image: tomee:9-jre17-webprofile
volumes:
- $PWD/MassBank-Project/MassBank-web/target/MassBank.war:/usr/local/tomee/webapps/MassBank.war
- - $PWD/conf/full-service.conf:/etc/massbank.conf
- - $PWD/../MassBank-data:/MassBank-data
+ - $PWD/../MassBank-data:/MassBank-data
- $PWD/compose/ServerInfo.properties:/usr/local/tomee/lib/org/apache/catalina/util/ServerInfo.properties
+ environment:
+ MASSBANK_LONG_NAME: "Personal MassBank"
+ MASSBANK_SITEMAP_BASE_URL: "https://msbi.ipb-halle.de/MassBank/"
+ MASSBANK_DB_NAME: "MassBank"
+ MASSBANK_DB_PASSWORD: "123blah321"
+ MASSBANK_DB_HOSTNAME: "mariadb"
+ MASSBANK_DATA_ROOT_PATH: "/MassBank-data"
ports:
- "808${TAG}:8080"
restart: always
@@ -29,8 +35,6 @@ services:
condition: service_healthy
#environment:
#JAVA_OPTS: -Xmx4g -Xms1g
- links:
- - "mariadb:massbank_mariadb"
maven:
image: maven:3.8-eclipse-temurin-17
@@ -46,7 +50,11 @@ services:
image: maven:3.8-eclipse-temurin-17
volumes:
- $PWD/MassBank-Project:/project
- - $PWD/conf/full-service.conf:/etc/massbank.conf
- $PWD/../MassBank-data:/MassBank-data
- links:
- - "mariadb:massbank_mariadb"
+ environment:
+ MASSBANK_LONG_NAME: "Personal MassBank"
+ MASSBANK_SITEMAP_BASE_URL: "https://msbi.ipb-halle.de/MassBank/"
+ MASSBANK_DB_NAME: "MassBank"
+ MASSBANK_DB_PASSWORD: "123blah321"
+ MASSBANK_DB_HOSTNAME: "mariadb"
+ MASSBANK_DATA_ROOT_PATH: "/MassBank-data"
diff --git a/conf/full-service.conf b/conf/full-service.conf
deleted file mode 100644
index 3764485d..00000000
--- a/conf/full-service.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-Name = Personal MassBank
-LongName = Personal MassBank
-dbName = MassBank
-dbPassword = 123blah321
-dbHostName = massbank_mariadb
-DataRootPath = /MassBank-data/
-SitemapBaseURL = https://msbi.ipb-halle.de/MassBank/
diff --git a/conf/massbank.conf b/conf/massbank.conf
deleted file mode 100644
index 5860d3a1..00000000
--- a/conf/massbank.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-Name = Personal MassBank
-LongName = Personal MassBank
-dbName = MassBank
-dbPassword = 123blah321
-dbHostName = 127.0.0.1
-DataRootPath = /home/vagrant/MassBank-data/
-SitemapBaseURL = https://my-ip/MassBank/
diff --git a/modules/apache/conf/010-a2site-massbank.conf b/modules/apache/conf/010-a2site-massbank.conf
deleted file mode 100644
index 704da69e..00000000
--- a/modules/apache/conf/010-a2site-massbank.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-#***************************************************
-# For MassBank
-#***************************************************
-
- AllowOverride All
- Options -Indexes
-
-
- Options +ExecCGI
- AddHandler cgi-script .cgi
-
-
- Order deny,allow
- Deny from all
- Allow from localhost 127.0.0.1 192.168.0.0/16
-
-
-
-JkMountCopy All
-
-JkMount /MassBank/jsp ajp13_worker
-JkMount /MassBank/jsp/* ajp13_worker
-JkMount /MassBank/temp ajp13_worker
-JkMount /MassBank/temp/* ajp13_worker
-JkMount /MassBank/MultiDispatcher ajp13_worker
-JkMount /MassBank/MultiDispatcher/* ajp13_worker
-JkMount /MassBank/MassBankEnv ajp13_worker
-JkMount /MassBank/MassBankEnv/* ajp13_worker
-JkMount /MassBank/mbadmin ajp13_worker
-JkMount /MassBank/mbadmin/* ajp13_worker
-JkMount /api ajp13_worker
-JkMount /api/* ajp13_worker
-JkMount /MassBank/pserver* ajp13_worker
-JkMount /MassBank/ServerMonitor* ajp13_worker
-
-
diff --git a/modules/apache/conf/config.ini.php b/modules/apache/conf/config.ini.php
deleted file mode 100644
index ca37f0e1..00000000
--- a/modules/apache/conf/config.ini.php
+++ /dev/null
@@ -1,106 +0,0 @@
-; DO NOT REMOVE THIS LINE
-; file automatically generated or modified by Piwik; you can manually override the default values in global.ini.php by redefining them in this file.
-[database]
-host = "127.0.0.1"
-username = "bird"
-password = "bird2006"
-dbname = "piwikdb"
-tables_prefix = "piwik_"
-
-[General]
-salt = "f66988d59a3aee0c46fd52fabea7f56f"
-trusted_hosts[] = "192.168.35.18"
-
-[Plugins]
-Plugins[] = "CorePluginsAdmin"
-Plugins[] = "CoreAdminHome"
-Plugins[] = "CoreHome"
-Plugins[] = "WebsiteMeasurable"
-Plugins[] = "Diagnostics"
-Plugins[] = "CoreVisualizations"
-Plugins[] = "Proxy"
-Plugins[] = "API"
-Plugins[] = "LanguagesManager"
-Plugins[] = "Actions"
-Plugins[] = "Dashboard"
-Plugins[] = "MultiSites"
-Plugins[] = "DevicesDetection"
-Plugins[] = "Events"
-Plugins[] = "VisitsSummary"
-Plugins[] = "VisitTime"
-Plugins[] = "Monolog"
-Plugins[] = "Login"
-Plugins[] = "UsersManager"
-Plugins[] = "SitesManager"
-Plugins[] = "Installation"
-Plugins[] = "CoreUpdater"
-Plugins[] = "CoreConsole"
-Plugins[] = "ScheduledReports"
-Plugins[] = "PrivacyManager"
-Plugins[] = "ImageGraph"
-Plugins[] = "Insights"
-Plugins[] = "Morpheus"
-Plugins[] = "Intl"
-Plugins[] = "Goals"
-
-[PluginsInstalled]
-PluginsInstalled[] = "Diagnostics"
-PluginsInstalled[] = "Login"
-PluginsInstalled[] = "CoreAdminHome"
-PluginsInstalled[] = "UsersManager"
-PluginsInstalled[] = "SitesManager"
-PluginsInstalled[] = "Installation"
-PluginsInstalled[] = "Monolog"
-PluginsInstalled[] = "Intl"
-PluginsInstalled[] = "CorePluginsAdmin"
-PluginsInstalled[] = "CoreHome"
-PluginsInstalled[] = "WebsiteMeasurable"
-PluginsInstalled[] = "CoreVisualizations"
-PluginsInstalled[] = "Proxy"
-PluginsInstalled[] = "API"
-PluginsInstalled[] = "ExamplePlugin"
-PluginsInstalled[] = "Widgetize"
-PluginsInstalled[] = "Transitions"
-PluginsInstalled[] = "LanguagesManager"
-PluginsInstalled[] = "Actions"
-PluginsInstalled[] = "Dashboard"
-PluginsInstalled[] = "MultiSites"
-PluginsInstalled[] = "Referrers"
-PluginsInstalled[] = "UserLanguage"
-PluginsInstalled[] = "DevicesDetection"
-PluginsInstalled[] = "Goals"
-PluginsInstalled[] = "Ecommerce"
-PluginsInstalled[] = "SEO"
-PluginsInstalled[] = "Events"
-PluginsInstalled[] = "UserCountry"
-PluginsInstalled[] = "VisitsSummary"
-PluginsInstalled[] = "VisitFrequency"
-PluginsInstalled[] = "VisitTime"
-PluginsInstalled[] = "VisitorInterest"
-PluginsInstalled[] = "ExampleAPI"
-PluginsInstalled[] = "RssWidget"
-PluginsInstalled[] = "Feedback"
-PluginsInstalled[] = "CoreUpdater"
-PluginsInstalled[] = "CoreConsole"
-PluginsInstalled[] = "ScheduledReports"
-PluginsInstalled[] = "UserCountryMap"
-PluginsInstalled[] = "Live"
-PluginsInstalled[] = "CustomVariables"
-PluginsInstalled[] = "PrivacyManager"
-PluginsInstalled[] = "ImageGraph"
-PluginsInstalled[] = "Annotations"
-PluginsInstalled[] = "MobileMessaging"
-PluginsInstalled[] = "Overlay"
-PluginsInstalled[] = "SegmentEditor"
-PluginsInstalled[] = "Insights"
-PluginsInstalled[] = "Morpheus"
-PluginsInstalled[] = "Contents"
-PluginsInstalled[] = "BulkTracking"
-PluginsInstalled[] = "Resolution"
-PluginsInstalled[] = "DevicePlugins"
-PluginsInstalled[] = "Heartbeat"
-PluginsInstalled[] = "Marketplace"
-PluginsInstalled[] = "ProfessionalServices"
-PluginsInstalled[] = "UserId"
-PluginsInstalled[] = "CustomPiwikJs"
-
diff --git a/modules/apache/conf/global.ini.php b/modules/apache/conf/global.ini.php
deleted file mode 100644
index ec5b56ff..00000000
--- a/modules/apache/conf/global.ini.php
+++ /dev/null
@@ -1,846 +0,0 @@
-; DO NOT REMOVE THIS LINE
-; If you want to change some of these default values, the best practise is to override
-; them in your configuration file in config/config.ini.php. If you directly edit this file,
-; you will lose your changes when you upgrade Piwik.
-; For example if you want to override action_title_category_delimiter,
-; edit config/config.ini.php and add the following:
-; [General]
-; action_title_category_delimiter = "-"
-
-;--------
-; WARNING - YOU SHOULD NOT EDIT THIS FILE DIRECTLY - Edit config.ini.php instead.
-;--------
-
-[database]
-host =
-username =
-password =
-dbname =
-tables_prefix =
-port = 3306
-adapter = PDO\MYSQL
-type = InnoDB
-schema = Mysql
-; if charset is set to utf8, Piwik will ensure that it is storing its data using UTF8 charset.
-; it will add a sql query SET at each page view.
-; Piwik should work correctly without this setting but we recommend to have a charset set.
-charset = utf8
-
-[database_tests]
-host = localhost
-username = "@USERNAME@"
-password =
-dbname = piwik_tests
-tables_prefix = piwiktests_
-port = 3306
-adapter = PDO\MYSQL
-type = InnoDB
-schema = Mysql
-charset = utf8
-
-[tests]
-; needed in order to run tests.
-; if Piwik is available at http://localhost/dev/piwik/ replace @REQUEST_URI@ with /dev/piwik/
-; note: the REQUEST_URI should not contain "plugins" or "tests" in the PATH
-http_host = localhost
-remote_addr = "127.0.0.1"
-request_uri = "@REQUEST_URI@"
-port =
-
-; access key and secret as listed in AWS -> IAM -> Users
-aws_accesskey = ""
-aws_secret = ""
-; key pair name as listed in AWS -> EC2 -> Key Pairs. Key name should be different per user.
-aws_keyname = ""
-; PEM file can be downloaded after creating a new key pair in AWS -> EC2 -> Key Pairs
-aws_pem_file = ""
-aws_securitygroups[] = "default"
-aws_region = "us-east-1"
-aws_ami = "ami-ac24bac4"
-aws_instance_type = "c3.large"
-
-[log]
-; possible values for log: screen, database, file
-log_writers[] = screen
-
-; log level, everything logged w/ this level or one of greater severity
-; will be logged. everything else will be ignored. possible values are:
-; ERROR, WARN, INFO, DEBUG
-log_level = WARN
-
-; if configured to log in a file, log entries will be made to this file
-logger_file_path = tmp/logs/piwik.log
-
-[Cache]
-; available backends are 'file', 'array', 'null', 'redis', 'chained'
-; 'array' will cache data only during one request
-; 'null' will not cache anything at all
-; 'file' will cache on the filesystem
-; 'redis' will cache on a Redis server, use this if you are running Piwik with multiple servers. Further configuration in [RedisCache] is needed
-; 'chained' will chain multiple cache backends. Further configuration in [ChainedCache] is needed
-backend = chained
-
-[ChainedCache]
-; The chained cache will always try to read from the fastest backend first (the first listed one) to avoid requesting
-; the same cache entry from the slowest backend multiple times in one request.
-backends[] = array
-backends[] = file
-
-[RedisCache]
-; Redis server configuration.
-host = "127.0.0.1"
-port = 6379
-; instead of host and port a unix socket path can be configured
-unix_socket = ""
-timeout = 0.0
-password = ""
-database = 14
-; In case you are using queued tracking: Make sure to configure a different database! Otherwise queued requests might
-; be flushed
-
-[Debug]
-; if set to 1, the archiving process will always be triggered, even if the archive has already been computed
-; this is useful when making changes to the archiving code so we can force the archiving process
-always_archive_data_period = 0;
-always_archive_data_day = 0;
-; Force archiving Custom date range (without re-archiving sub-periods used to process this date range)
-always_archive_data_range = 0;
-
-; if set to 1, all the SQL queries will be recorded by the profiler
-; and a profiling summary will be printed at the end of the request
-; NOTE: you must also set [log] log_writers[] = "screen" to enable the profiler to print on screen
-enable_sql_profiler = 0
-
-; If set to 1, all requests to piwik.php will be forced to be 'new visitors'
-tracker_always_new_visitor = 0
-
-; if set to 1, all SQL queries will be logged using the DEBUG log level
-log_sql_queries = 0
-
-[DebugTests]
-; When set to 1, standalone plugins (those with their own git repositories)
-; will be loaded when executing tests.
-enable_load_standalone_plugins_during_tests = 0
-
-[Development]
-; Enables the development mode where we avoid most caching to make sure code changes will be directly applied as
-; some caches are only invalidated after an update otherwise. When enabled it'll also performs some validation checks.
-; For instance if you register a method in a widget we will verify whether the method actually exists and is public.
-; If not, we will show you a helpful warning to make it easy to find simple typos etc.
-enabled = 0
-
-; if set to 1, javascript files will be included individually and neither merged nor minified.
-; this option must be set to 1 when adding, removing or modifying javascript files
-; Note that for quick debugging, instead of using below setting, you can add `&disable_merged_assets=1` to the Piwik URL
-disable_merged_assets = 0
-
-[General]
-
-; the following settings control whether Unique Visitors `nb_uniq_visitors` and Unique users `nb_users` will be processed for different period types.
-; year and range periods are disabled by default, to ensure optimal performance for high traffic Piwik instances
-; if you set it to 1 and want the Unique Visitors to be re-processed for reports in the past, drop all piwik_archive_* tables
-; it is recommended to always enable Unique Visitors and Unique Users processing for 'day' periods
-enable_processing_unique_visitors_day = 1
-enable_processing_unique_visitors_week = 1
-enable_processing_unique_visitors_month = 1
-enable_processing_unique_visitors_year = 0
-enable_processing_unique_visitors_range = 0
-
-; controls whether Unique Visitors will be processed for groups of websites. these metrics describe the number
-; of unique visitors across the entire set of websites, so if a visitor visited two websites in the group, she
-; would still only be counted as one. only relevant when using plugins that group sites together
-enable_processing_unique_visitors_multiple_sites = 0
-
-; The list of periods that are available in the Piwik calendar
-; Example use case: custom date range requests are processed in real time,
-; so they may take a few minutes on very high traffic website: you may remove "range" below to disable this period
-enabled_periods_UI = "day,week,month,year,range"
-enabled_periods_API = "day,week,month,year,range"
-
-; whether to enable subquery cache for Custom Segment archiving queries
-enable_segments_subquery_cache = 0
-; Any segment subquery that matches more than segments_subquery_cache_limit IDs will not be cached,
-; and the original subquery executed instead.
-segments_subquery_cache_limit = 100000
-; TTL: Time to live for cache files, in seconds. Default to 60 minutes
-segments_subquery_cache_ttl = 3600
-
-; when set to 1, all requests to Piwik will return a maintenance message without connecting to the DB
-; this is useful when upgrading using the shell command, to prevent other users from accessing the UI while Upgrade is in progress
-maintenance_mode = 0
-
-; Defines the release channel that shall be used. Currently available values are:
-; "latest_stable", "latest_beta", "latest_2x_stable", "latest_2x_beta"
-release_channel = "latest_stable"
-
-; character used to automatically create categories in the Actions > Pages, Outlinks and Downloads reports
-; for example a URL like "example.com/blog/development/first-post" will create
-; the page first-post in the subcategory development which belongs to the blog category
-action_url_category_delimiter = /
-
-; similar to above, but this delimiter is only used for page titles in the Actions > Page titles report
-action_title_category_delimiter = /
-
-; the maximum url category depth to track. if this is set to 2, then a url such as
-; "example.com/blog/development/first-post" would be treated as "example.com/blog/development".
-; this setting is used mainly to limit the amount of data that is stored by Piwik.
-action_category_level_limit = 10
-
-; minimum number of websites to run autocompleter
-autocomplete_min_sites = 5
-
-; maximum number of websites showed in search results in autocompleter
-site_selector_max_sites = 15
-
-; if set to 1, shows sparklines (evolution graph) in 'All Websites' report (MultiSites plugin)
-show_multisites_sparklines = 1
-
-; number of websites to display per page in the All Websites dashboard
-all_websites_website_per_page = 50
-
-; if set to 0, the anonymous user will not be able to use the 'segments' parameter in the API request
-; this is useful to prevent full DB access to the anonymous user, or to limit performance usage
-anonymous_user_enable_use_segments_API = 1
-
-; if browser trigger archiving is disabled, API requests with a &segment= parameter will still trigger archiving.
-; You can force the browser archiving to be disabled in most cases by setting this setting to 1
-; The only time that the browser will still trigger archiving is when requesting a custom date range that is not pre-processed yet
-browser_archiving_disabled_enforce = 0
-
-; By default, users can create Segments which are to be processed in Real-time.
-; Setting this to 0 will force all newly created Custom Segments to be "Pre-processed (faster, requires archive.php cron)"
-; This can be useful if you want to prevent users from adding much load on the server.
-; Notes:
-; * any existing Segment set to "processed in Real time", will still be set to Real-time.
-; this will only affect custom segments added or modified after this setting is changed.
-; * when set to 0 then any user with at least 'view' access will be able to create pre-processed segments.
-enable_create_realtime_segments = 1
-
-; Whether to enable the "Suggest values for segment" in the Segment Editor panel.
-; Set this to 0 in case your Piwik database is very big, and suggested values may not appear in time
-enable_segment_suggested_values = 1
-
-; By default, any user with a "view" access for a website can create segment assigned to this website.
-; Set this to "admin" or "superuser" to require that users should have at least this access to create new segments.
-; Note: anonymous user (even if it has view access) is not allowed to create or edit segment.
-; Possible values are "view", "admin", "superuser"
-adding_segment_requires_access = "view"
-
-; Whether it is allowed for users to add segments that affect all websites or not. If there are many websites
-; this admin option can be used to prevent users from performing an action that will have a major impact
-; on Piwik performance.
-allow_adding_segments_for_all_websites = 1
-
-; When archiving segments for the first time, this determines the oldest date that will be archived.
-; This option can be used to avoid archiving (for isntance) the lastN years for every new segment.
-; Valid option values include: "beginning_of_time" (start date of archiving will not be changed)
-; "segment_last_edit_time" (start date of archiving will be the earliest last edit date found,
-; if none is found, the created date is used)
-; "segment_creation_time" (start date of archiving will be the creation date of the segment)
-; lastN where N is an integer (eg "last10" to archive for 10 days before the segment creation date)
-process_new_segments_from = "beginning_of_time"
-
-; this action name is used when the URL ends with a slash /
-; it is useful to have an actual string to write in the UI
-action_default_name = index
-
-; default language to use in Piwik
-default_language = en
-
-; default number of elements in the datatable
-datatable_default_limit = 10
-
-; Each datatable report has a Row Limit selector at the bottom right.
-; By default you can select from 5 to 500 rows. You may customise the values below
-; -1 will be displayed as 'all' and it will export all rows (filter_limit=-1)
-datatable_row_limits = "5,10,25,50,100,250,500,-1"
-
-; default number of rows returned in API responses
-; this value is overwritten by the '# Rows to display' selector.
-; if set to -1, a click on 'Export as' will export all rows independently of the current '# Rows to display'.
-API_datatable_default_limit = 100
-
-; When period=range, below the datatables, when user clicks on "export", the data will be aggregate of the range.
-; Here you can specify the comma separated list of formats for which the data will be exported aggregated by day
-; (ie. there will be a new "date" column). For example set to: "rss,tsv,csv"
-datatable_export_range_as_day = "rss"
-
-; This setting is overridden in the UI, under "User Settings".
-; The date and period loaded by Piwik uses the defaults below. Possible values: yesterday, today.
-default_day = yesterday
-; Possible values: day, week, month, year.
-default_period = day
-
-; Time in seconds after which an archive will be computed again. This setting is used only for today's statistics.
-; This setting is overriden in the UI, under "General Settings".
-; This setting is only used if it hasn't been overriden via the UI yet, or if enable_general_settings_admin=0
-time_before_today_archive_considered_outdated = 150
-
-; This setting is overriden in the UI, under "General Settings".
-; The default value is to allow browsers to trigger the Piwik archiving process.
-; This setting is only used if it hasn't been overridden via the UI yet, or if enable_general_settings_admin=0
-enable_browser_archiving_triggering = 1
-
-; By default, Piwik will force archiving of range periods from browser requests, even if enable_browser_archiving_triggering
-; is set to 0. This can sometimes create too much of a demand on system resources. Setting this option to 0 and
-; disabling browser trigger archiving will make sure ranges are not archived on browser request. Since the cron
-; archiver does not archive any custom date ranges, you must either disable range (using enabled_periods_API and enabled_periods_UI)
-; or make sure the date ranges users' want to see will be processed somehow.
-archiving_range_force_on_browser_request = 1
-
-; By default Piwik runs OPTIMIZE TABLE SQL queries to free spaces after deleting some data.
-; If your Piwik tracks millions of pages, the OPTIMIZE TABLE queries might run for hours (seen in "SHOW FULL PROCESSLIST \g")
-; so you can disable these special queries here:
-enable_sql_optimize_queries = 1
-
-; By default Piwik is purging complete date range archives to free spaces after deleting some data.
-; If you are pre-processing custom ranges using CLI task to make them easily available in UI,
-; you can prevent this action from happening by setting this parameter to value bigger than 1
-purge_date_range_archives_after_X_days = 1
-
-; MySQL minimum required version
-; note: timezone support added in 4.1.3
-minimum_mysql_version = 4.1
-
-; PostgreSQL minimum required version
-minimum_pgsql_version = 8.3
-
-; Minimum advised memory limit in php.ini file (see memory_limit value)
-; Set to "-1" to always use the configured memory_limit value in php.ini file.
-minimum_memory_limit = 128
-
-; Minimum memory limit enforced when archived via ./console core:archive
-; Set to "-1" to always use the configured memory_limit value in php.ini file.
-minimum_memory_limit_when_archiving = 768
-
-; Piwik will check that usernames and password have a minimum length, and will check that characters are "allowed"
-; This can be disabled, if for example you wish to import an existing User database in Piwik and your rules are less restrictive
-disable_checks_usernames_attributes = 0
-
-; Piwik will use the configured hash algorithm where possible.
-; For legacy data, fallback or non-security scenarios, we use md5.
-hash_algorithm = whirlpool
-
-; by default, Piwik uses PHP's built-in file-based session save handler with lock files.
-; For clusters, use dbtable.
-session_save_handler = files
-
-; If set to 1, Piwik will automatically redirect all http:// requests to https://
-; If SSL / https is not correctly configured on the server, this will break Piwik
-; If you set this to 1, and your SSL configuration breaks later on, you can always edit this back to 0
-; it is recommended for security reasons to always use Piwik over https
-force_ssl = 0
-
-; login cookie name
-login_cookie_name = piwik_auth
-
-; By default, the auth cookie is set only for the duration of session.
-; if "Remember me" is checked, the auth cookie will be valid for 14 days by default
-login_cookie_expire = 1209600
-
-; The path on the server in which the cookie will be available on.
-; Defaults to empty. See spec in http://curl.haxx.se/rfc/cookie_spec.html
-login_cookie_path =
-
-; email address that appears as a Sender in the password recovery email
-; if specified, {DOMAIN} will be replaced by the current Piwik domain
-login_password_recovery_email_address = "password-recovery@{DOMAIN}"
-; name that appears as a Sender in the password recovery email
-login_password_recovery_email_name = Piwik
-
-; email address that appears as a Reply-to in the password recovery email
-; if specified, {DOMAIN} will be replaced by the current Piwik domain
-login_password_recovery_replyto_email_address = "no-reply@{DOMAIN}"
-; name that appears as a Reply-to in the password recovery email
-login_password_recovery_replyto_email_name = "No-reply"
-
-; By default when user logs out they are redirected to Piwik "homepage" usually the Login form.
-; Uncomment the next line to set a URL to redirect the user to after they log out of Piwik.
-; login_logout_url = http://...
-
-; Set to 1 to disable the framebuster on standard Non-widgets pages (a click-jacking countermeasure).
-; Default is 0 (i.e., bust frames on all non Widget pages such as Login, API, Widgets, Email reports, etc.).
-enable_framed_pages = 0
-
-; Set to 1 to disable the framebuster on Admin pages (a click-jacking countermeasure).
-; Default is 0 (i.e., bust frames on the Settings forms).
-enable_framed_settings = 0
-
-; language cookie name for session
-language_cookie_name = piwik_lang
-
-; standard email address displayed when sending emails
-noreply_email_address = "noreply@{DOMAIN}"
-
-; standard email name displayed when sending emails. If not set, a default name will be used.
-noreply_email_name = ""
-
-; feedback email address;
-; when testing, use your own email address or "nobody"
-feedback_email_address = "feedback@piwik.org"
-
-; using to set reply_to in reports e-mail to login of report creator
-scheduled_reports_replyto_is_user_email_and_alias = 0
-
-; scheduled reports truncate limit
-; the report will be rendered with the first 23 rows and will aggregate other rows in a summary row
-; 23 rows table fits in one portrait page
-scheduled_reports_truncate = 23
-
-; during archiving, Piwik will limit the number of results recorded, for performance reasons
-; maximum number of rows for any of the Referrers tables (keywords, search engines, campaigns, etc.)
-datatable_archiving_maximum_rows_referrers = 1000
-; maximum number of rows for any of the Referrers subtable (search engines by keyword, keyword by campaign, etc.)
-datatable_archiving_maximum_rows_subtable_referrers = 50
-
-; maximum number of rows for the Users report
-datatable_archiving_maximum_rows_userid_users = 50000
-
-; maximum number of rows for the Custom Variables names report
-; Note: if the website is Ecommerce enabled, the two values below will be automatically set to 50000
-datatable_archiving_maximum_rows_custom_variables = 1000
-; maximum number of rows for the Custom Variables values reports
-datatable_archiving_maximum_rows_subtable_custom_variables = 1000
-
-; maximum number of rows for any of the Actions tables (pages, downloads, outlinks)
-datatable_archiving_maximum_rows_actions = 500
-; maximum number of rows for pages in categories (sub pages, when clicking on the + for a page category)
-; note: should not exceed the display limit in Piwik\Actions\Controller::ACTIONS_REPORT_ROWS_DISPLAY
-; because each subdirectory doesn't have paging at the bottom, so all data should be displayed if possible.
-datatable_archiving_maximum_rows_subtable_actions = 100
-
-; maximum number of rows for any of the Events tables (Categories, Actions, Names)
-datatable_archiving_maximum_rows_events = 500
-; maximum number of rows for sub-tables of the Events tables (eg. for the subtables Categories>Actions or Categories>Names).
-datatable_archiving_maximum_rows_subtable_events = 100
-
-; maximum number of rows for other tables (Providers, User settings configurations)
-datatable_archiving_maximum_rows_standard = 500
-
-; maximum number of rows to fetch from the database when archiving. if set to 0, no limit is used.
-; this can be used to speed up the archiving process, but is only useful if you're site has a large
-; amount of actions, referrers or custom variable name/value pairs.
-archiving_ranking_query_row_limit = 50000
-
-; maximum number of actions that is shown in the visitor log for each visitor
-visitor_log_maximum_actions_per_visit = 500
-
-; by default, the real time Live! widget will update every 5 seconds and refresh with new visits/actions/etc.
-; you can change the timeout so the widget refreshes more often, or not as frequently
-live_widget_refresh_after_seconds = 5
-
-; by default, the Live! real time visitor count widget will check to see how many visitors your
-; website received in the last 3 minutes. changing this value will change the number of minutes
-; the widget looks in.
-live_widget_visitor_count_last_minutes = 3
-
-; In "All Websites" dashboard, when looking at today's reports (or a date range including today),
-; the page will automatically refresh every 5 minutes. Set to 0 to disable automatic refresh
-multisites_refresh_after_seconds = 300
-
-; Set to 1 if you're using https on your Piwik server and Piwik can't detect it,
-; e.g., a reverse proxy using https-to-http, or a web server that doesn't
-; set the HTTPS environment variable.
-assume_secure_protocol = 0
-
-; Set to 1 if you're using more than one server for your Piwik installation. For example if you are using Piwik in a
-; load balanced environment, if you have configured failover or if you're just using multiple servers in general.
-; By enabling this flag we will for example not allow the installation of a plugin via the UI as a plugin would be only
-; installed on one server or a config one change would be only made on one server instead of all servers.
-multi_server_environment = 0
-
-; List of proxy headers for client IP addresses
-; Piwik will determine the user IP by extracting the first IP address found in this proxy header.
-;
-; CloudFlare (CF-Connecting-IP)
-;proxy_client_headers[] = HTTP_CF_CONNECTING_IP
-;
-; ISP proxy (Client-IP)
-;proxy_client_headers[] = HTTP_CLIENT_IP
-;
-; de facto standard (X-Forwarded-For)
-;proxy_client_headers[] = HTTP_X_FORWARDED_FOR
-
-; List of proxy headers for host IP addresses
-;
-; de facto standard (X-Forwarded-Host)
-;proxy_host_headers[] = HTTP_X_FORWARDED_HOST
-
-; List of proxy IP addresses (or IP address ranges) to skip (if present in the above headers).
-; Generally, only required if there's more than one proxy between the visitor and the backend web server.
-;
-; Examples:
-;proxy_ips[] = 204.93.240.*
-;proxy_ips[] = 204.93.177.0/24
-;proxy_ips[] = 199.27.128.0/21
-;proxy_ips[] = 173.245.48.0/20
-
-; Whether to enable trusted host checking. This can be disabled if you're running Piwik
-; on several URLs and do not wish to constantly edit the trusted host list.
-enable_trusted_host_check = 1
-
-; List of trusted hosts (eg domain or subdomain names) when generating absolute URLs.
-;
-; Examples:
-;trusted_hosts[] = example.com
-;trusted_hosts[] = stats.example.com
-
-; List of Cross-origin resource sharing domains (eg domain or subdomain names) when generating absolute URLs.
-; Described here: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
-;
-; Examples:
-;cors_domains[] = http://example.com
-;cors_domains[] = http://stats.example.com
-;
-; Or you may allow cross domain requests for all domains with:
-;cors_domains[] = *
-
-; If you use this Piwik instance over multiple hostnames, Piwik will need to know
-; a unique instance_id for this instance, so that Piwik can serve the right custom logo and tmp/* assets,
-; independently of the hostname Piwik is currently running under.
-; instance_id = stats.example.com
-
-; The API server is an essential part of the Piwik infrastructure/ecosystem to
-; provide services to Piwik installations, e.g., getLatestVersion and
-; subscribeNewsletter.
-api_service_url = http://api.piwik.org
-
-; When the ImageGraph plugin is activated, report metadata have an additional entry : 'imageGraphUrl'.
-; This entry can be used to request a static graph for the requested report.
-; When requesting report metadata with $period=range, Piwik needs to translate it to multiple periods for evolution graphs.
-; eg. $period=range&date=previous10 becomes $period=day&date=previous10. Use this setting to override the $period value.
-graphs_default_period_to_plot_when_period_range = day
-
-; When the ImageGraph plugin is activated, enabling this option causes the image graphs to show the evolution
-; within the selected period instead of the evolution across the last n periods.
-graphs_show_evolution_within_selected_period = 0
-
-; The Overlay plugin shows the Top X following pages, Top X downloads and Top X outlinks which followed
-; a view of the current page. The value X can be set here.
-overlay_following_pages_limit = 300
-
-; With this option, you can disable the framed mode of the Overlay plugin. Use it if your website contains a framebuster.
-overlay_disable_framed_mode = 0
-
-; By default we check whether the Custom logo is writable or not, before we display the Custom logo file uploader
-enable_custom_logo_check = 1
-
-; If php is running in a chroot environment, when trying to import CSV files with createTableFromCSVFile(),
-; Mysql will try to load the chrooted path (which is incomplete). To prevent an error, here you can specify the
-; absolute path to the chroot environment. eg. '/path/to/piwik/chrooted/'
-absolute_chroot_path =
-
-; In some rare cases it may be useful to explicitely tell Piwik not to use LOAD DATA INFILE
-; This may for example be useful when doing Mysql AWS replication
-enable_load_data_infile = 1
-
-; By setting this option to 0:
-; - links to Enable/Disable/Uninstall plugins will be hidden and disabled
-; - links to Uninstall themes will be disabled (but user can still enable/disable themes)
-enable_plugins_admin = 1
-
-; By setting this option to 1, it will be possible for Super Users to upload Piwik plugin ZIP archives directly in Piwik Administration.
-; Enabling this opens a remote code execution vulnerability where
-; an attacker who gained Super User access could execute custom PHP code in a Piwik plugin.
-enable_plugin_upload = 0
-
-; By setting this option to 0, you can prevent Super User from editing the Geolocation settings.
-enable_geolocation_admin = 1
-
-; By setting this option to 0, the old log data and old report data features will be hidden from the UI
-; Note: log purging and old data purging still occurs, just the Super User cannot change the settings.
-enable_delete_old_data_settings_admin = 1
-
-; By setting this option to 0, the following settings will be hidden and disabled from being set in the UI:
-; - "Archiving Settings"
-; - "Update settings"
-; - "Email server settings"
-enable_general_settings_admin = 1
-
-; By setting this option to 0, it will disable the "Auto update" feature
-enable_auto_update = 1
-
-; By setting this option to 0, no emails will be sent in case of an available core.
-; If set to 0 it also disables the "sent plugin update emails" feature in general and the related setting in the UI.
-enable_update_communication = 1
-
-; Comma separated list of plugin names for which console commands should be loaded (applies when Piwik is not installed yet)
-always_load_commands_from_plugin=
-
-; This controls whether the pivotBy query parameter can be used with any dimension or just subtable
-; dimensions. If set to 1, it will fetch a report with a segment for each row of the table being pivoted.
-; At present, this is very inefficient, so it is disabled by default.
-pivot_by_filter_enable_fetch_by_segment = 0
-
-; This controls the default maximum number of columns to display in a pivot table. Since a pivot table displays
-; a table's rows as columns, the number of columns can become very large, which will affect webpage layouts.
-; Set to -1 to specify no limit. Note: The pivotByColumnLimit query parameter can be used to override this default
-; on a per-request basis;
-pivot_by_filter_default_column_limit = 10
-
-; If set to 0 it will disable advertisements for providers of Professional Support for Piwik.
-piwik_professional_support_ads_enabled = 1
-
-[Tracker]
-
-; Piwik uses "Privacy by default" model. When one of your users visit multiple of your websites tracked in this Piwik,
-; Piwik will create for this user a fingerprint that will be different across the multiple websites.
-; If you want to track unique users across websites (for example when using the InterSites plugin) you may set this setting to 1.
-; Note: setting this to 0 increases your users' privacy.
-enable_fingerprinting_across_websites = 0
-
-; Piwik uses first party cookies by default. If set to 1,
-; the visit ID cookie will be set on the Piwik server domain as well
-; this is useful when you want to do cross websites analysis
-use_third_party_id_cookie = 0
-
-; If tracking does not work for you or you are stuck finding an issue, you might want to enable the tracker debug mode.
-; Once enabled (set to 1) messages will be logged to all loggers defined in "[log] log_writers" config.
-debug = 0
-
-; This option is an alternative to the debug option above. When set to 1, you can debug tracker request by adding
-; a debug=1 query parameter in the URL. All other HTTP requests will not have debug enabled. For security reasons this
-; option should be only enabled if really needed and only for a short time frame. Otherwise anyone can set debug=1 and
-; see the log output as well.
-debug_on_demand = 0
-
-; This setting is described in this FAQ: http://piwik.org/faq/how-to/faq_175/
-; Note: generally this should only be set to 1 in an intranet setting, where most users have the same configuration (browsers, OS)
-; and the same IP. If left to 0 in this setting, all visitors will be counted as one single visitor.
-trust_visitors_cookies = 0
-
-; name of the cookie used to store the visitor information
-; This is used only if use_third_party_id_cookie = 1
-cookie_name = _pk_uid
-
-; by default, the Piwik tracking cookie expires in 13 months (365 + 28 days)
-; This is used only if use_third_party_id_cookie = 1
-cookie_expire = 33955200;
-
-; The path on the server in which the cookie will be available on.
-; Defaults to empty. See spec in http://curl.haxx.se/rfc/cookie_spec.html
-; This is used for the Ignore cookie, and the third party cookie if use_third_party_id_cookie = 1
-cookie_path =
-
-; set to 0 if you want to stop tracking the visitors. Useful if you need to stop all the connections on the DB.
-record_statistics = 1
-
-; length of a visit in seconds. If a visitor comes back on the website visit_standard_length seconds
-; after their last page view, it will be recorded as a new visit. In case you are using the Piwik JavaScript tracker to
-; calculate the visit count correctly, make sure to call the method "setSessionCookieTimeout" eg
-; `_paq.push(['setSessionCookieTimeout', timeoutInSeconds=1800])`
-visit_standard_length = 1800
-
-; The window to look back for a previous visit by this current visitor. Defaults to visit_standard_length.
-; If you are looking for higher accuracy of "returning visitors" metrics, you may set this value to 86400 or more.
-; This is especially useful when you use the Tracking API where tracking Returning Visitors often depends on this setting.
-; The value window_look_back_for_visitor is used only if it is set to greater than visit_standard_length
-window_look_back_for_visitor = 0
-
-; visitors that stay on the website and view only one page will be considered as time on site of 0 second
-default_time_one_page_visit = 0
-
-; Comma separated list of URL query string variable names that will be removed from your tracked URLs
-; By default, Piwik will remove the most common parameters which are known to change often (eg. session ID parameters)
-url_query_parameter_to_exclude_from_url = "gclid,fb_xd_fragment,fb_comment_id,phpsessid,jsessionid,sessionid,aspsessionid,doing_wp_cron,sid,pk_vid"
-
-; if set to 1, Piwik attempts a "best guess" at the visitor's country of
-; origin when the preferred language tag omits region information.
-; The mapping is defined in core/DataFiles/LanguageToCountry.php,
-enable_language_to_country_guess = 1
-
-; When the `./console core:archive` cron hasn't been setup, we still need to regularly run some maintenance tasks.
-; Visits to the Tracker will try to trigger Scheduled Tasks (eg. scheduled PDF/HTML reports by email).
-; Scheduled tasks will only run if 'Enable Piwik Archiving from Browser' is enabled in the General Settings.
-; Tasks run once every hour maximum, they might not run every hour if traffic is low.
-; Set to 0 to disable Scheduled tasks completely.
-scheduled_tasks_min_interval = 3600
-
-; name of the cookie to ignore visits
-ignore_visits_cookie_name = piwik_ignore
-
-; Comma separated list of variable names that will be read to define a Campaign name, for example CPC campaign
-; Example: If a visitor first visits 'index.php?piwik_campaign=Adwords-CPC' then it will be counted as a campaign referrer named 'Adwords-CPC'
-; Includes by default the GA style campaign parameters
-campaign_var_name = "pk_cpn,pk_campaign,piwik_campaign,utm_campaign,utm_source,utm_medium"
-
-; Comma separated list of variable names that will be read to track a Campaign Keyword
-; Example: If a visitor first visits 'index.php?piwik_campaign=Adwords-CPC&piwik_kwd=My killer keyword' ;
-; then it will be counted as a campaign referrer named 'Adwords-CPC' with the keyword 'My killer keyword'
-; Includes by default the GA style campaign keyword parameter utm_term
-campaign_keyword_var_name = "pk_kwd,pk_keyword,piwik_kwd,utm_term"
-
-; if set to 1, actions that contain different campaign information from the visitor's ongoing visit will
-; be treated as the start of a new visit. This will include situations when campaign information was absent before,
-; but is present now.
-create_new_visit_when_campaign_changes = 1
-
-; if set to 1, actions that contain different website referrer information from the visitor's ongoing visit
-; will be treated as the start of a new visit. This will include situations when website referrer information was
-; absent before, but is present now.
-create_new_visit_when_website_referrer_changes = 0
-
-; ONLY CHANGE THIS VALUE WHEN YOU DO NOT USE PIWIK ARCHIVING, SINCE THIS COULD CAUSE PARTIALLY MISSING ARCHIVE DATA
-; Whether to force a new visit at midnight for every visitor. Default 1.
-create_new_visit_after_midnight = 1
-
-; maximum length of a Page Title or a Page URL recorded in the log_action.name table
-page_maximum_length = 1024;
-
-; Tracker cache files are the simple caching layer for Tracking.
-; TTL: Time to live for cache files, in seconds. Default to 5 minutes.
-tracker_cache_file_ttl = 300
-
-; Whether Bulk tracking requests to the Tracking API requires the token_auth to be set.
-bulk_requests_require_authentication = 0
-
-; Whether Bulk tracking requests will be wrapped within a DB Transaction.
-; This greatly increases performance of Log Analytics and in general any Bulk Tracking API requests.
-bulk_requests_use_transaction = 1
-
-; DO NOT USE THIS SETTING ON PUBLICLY AVAILABLE PIWIK SERVER
-; !!! Security risk: if set to 0, it would allow anyone to push data to Piwik with custom dates in the past/future and even with fake IPs!
-; When using the Tracking API, to override either the datetime and/or the visitor IP,
-; token_auth with an "admin" access is required. If you set this setting to 0, the token_auth will not be required anymore.
-; DO NOT USE THIS SETTING ON PUBLIC PIWIK SERVERS
-tracking_requests_require_authentication = 1
-
-; By default, Piwik accepts only tracking requests for up to 1 day in the past. For tracking requests with a custom date
-; date is older than 1 day, Piwik requires an authenticated tracking requests. By setting this config to another value
-; You can change how far back Piwik will track your requests without authentication. The configured value is in seconds.
-tracking_requests_require_authentication_when_custom_timestamp_newer_than = 86400;
-
-[Segments]
-; Reports with segmentation in API requests are processed in real time.
-; On high traffic websites it is recommended to pre-process the data
-; so that the analytics reports are always fast to load.
-; You can define below the list of Segments strings
-; for which all reports should be Archived during the cron execution
-; All segment values MUST be URL encoded.
-;Segments[]="visitorType==new"
-;Segments[]="visitorType==returning,visitorType==returningCustomer"
-
-; If you define Custom Variables for your visitor, for example set the visit type
-;Segments[]="customVariableName1==VisitType;customVariableValue1==Customer"
-
-[Deletelogs]
-; delete_logs_enable - enable (1) or disable (0) delete log feature. Make sure that all archives for the given period have been processed (setup a cronjob!),
-; otherwise you may lose tracking data.
-; delete_logs_schedule_lowest_interval - lowest possible interval between two table deletes (in days, 1|7|30). Default: 7.
-; delete_logs_older_than - delete data older than XX (days). Default: 180
-delete_logs_enable = 0
-delete_logs_schedule_lowest_interval = 7
-delete_logs_older_than = 180
-delete_logs_max_rows_per_query = 100000
-enable_auto_database_size_estimate = 1
-
-[Deletereports]
-delete_reports_enable = 0
-delete_reports_older_than = 12
-delete_reports_keep_basic_metrics = 1
-delete_reports_keep_day_reports = 0
-delete_reports_keep_week_reports = 0
-delete_reports_keep_month_reports = 1
-delete_reports_keep_year_reports = 1
-delete_reports_keep_range_reports = 0
-delete_reports_keep_segment_reports = 0
-
-[mail]
-defaultHostnameIfEmpty = defaultHostnameIfEmpty.example.org ; default Email @hostname, if current host can't be read from system variables
-transport = ; smtp (using the configuration below) or empty (using built-in mail() function)
-port = ; optional; defaults to 25 when security is none or tls; 465 for ssl
-host = ; SMTP server address
-type = ; SMTP Auth type. By default: NONE. For example: LOGIN
-username = ; SMTP username
-password = ; SMTP password
-encryption = ; SMTP transport-layer encryption, either 'ssl', 'tls', or empty (i.e., none).
-
-[proxy]
-type = BASIC ; proxy type for outbound/outgoing connections; currently, only BASIC is supported
-host = ; Proxy host: the host name of your proxy server (mandatory)
-port = ; Proxy port: the port that the proxy server listens to. There is no standard default, but 80, 1080, 3128, and 8080 are popular
-username = ; Proxy username: optional; if specified, password is mandatory
-password = ; Proxy password: optional; if specified, username is mandatory
-
-[Plugins]
-; list of plugins (in order they will be loaded) that are activated by default in the Piwik platform
-Plugins[] = CorePluginsAdmin
-Plugins[] = CoreAdminHome
-Plugins[] = CoreHome
-Plugins[] = WebsiteMeasurable
-Plugins[] = Diagnostics
-Plugins[] = CoreVisualizations
-Plugins[] = Proxy
-Plugins[] = API
-Plugins[] = ExamplePlugin
-Plugins[] = Widgetize
-Plugins[] = Transitions
-Plugins[] = LanguagesManager
-Plugins[] = Actions
-Plugins[] = Dashboard
-Plugins[] = MultiSites
-Plugins[] = Referrers
-Plugins[] = UserLanguage
-Plugins[] = DevicesDetection
-Plugins[] = Goals
-Plugins[] = Ecommerce
-Plugins[] = SEO
-Plugins[] = Events
-Plugins[] = UserCountry
-Plugins[] = VisitsSummary
-Plugins[] = VisitFrequency
-Plugins[] = VisitTime
-Plugins[] = VisitorInterest
-Plugins[] = ExampleAPI
-Plugins[] = RssWidget
-Plugins[] = Feedback
-Plugins[] = Monolog
-
-Plugins[] = Login
-Plugins[] = UsersManager
-Plugins[] = SitesManager
-Plugins[] = Installation
-Plugins[] = CoreUpdater
-Plugins[] = CoreConsole
-Plugins[] = ScheduledReports
-Plugins[] = UserCountryMap
-Plugins[] = Live
-Plugins[] = CustomVariables
-Plugins[] = PrivacyManager
-Plugins[] = ImageGraph
-Plugins[] = Annotations
-Plugins[] = MobileMessaging
-Plugins[] = Overlay
-Plugins[] = SegmentEditor
-Plugins[] = Insights
-Plugins[] = Morpheus
-Plugins[] = Contents
-Plugins[] = BulkTracking
-Plugins[] = Resolution
-Plugins[] = DevicePlugins
-Plugins[] = Heartbeat
-Plugins[] = Intl
-Plugins[] = Marketplace
-Plugins[] = ProfessionalServices
-Plugins[] = UserId
-Plugins[] = CustomPiwikJs
-
-[PluginsInstalled]
-PluginsInstalled[] = Diagnostics
-PluginsInstalled[] = Login
-PluginsInstalled[] = CoreAdminHome
-PluginsInstalled[] = UsersManager
-PluginsInstalled[] = SitesManager
-PluginsInstalled[] = Installation
-PluginsInstalled[] = Monolog
-PluginsInstalled[] = Intl
-
-[APISettings]
-; Any key/value pair can be added in this section, they will be available via the REST call
-; index.php?module=API&method=API.getSettings
-; This can be used to expose values from Piwik, to control for example a Mobile app tracking
-SDK_batch_size = 10
-SDK_interval_value = 30
-
-; NOTE: do not directly edit this file! See notice at the top
-
diff --git a/modules/apache/conf/httpd.conf b/modules/apache/conf/httpd.conf
deleted file mode 100644
index 70ba498f..00000000
--- a/modules/apache/conf/httpd.conf
+++ /dev/null
@@ -1,1050 +0,0 @@
-#
-# Based upon the NCSA server configuration files originally by Rob McCool.
-#
-# This is the main Apache server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See for detailed information about
-# the directives.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# The configuration directives are grouped into three basic sections:
-# 1. Directives that control the operation of the Apache server process as a
-# whole (the 'global environment').
-# 2. Directives that define the parameters of the 'main' or 'default' server,
-# which responds to requests that aren't handled by a virtual host.
-# These directives also provide default values for the settings
-# of all virtual hosts.
-# 3. Settings for virtual hosts, which allow Web requests to be sent to
-# different IP addresses or hostnames and have them handled by the
-# same Apache server process.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
-# with ServerRoot set to "/etc/httpd" will be interpreted by the
-# server as "/etc/httpd/logs/foo.log".
-#
-
-### Section 1: Global Environment
-#
-# The directives in this section affect the overall operation of Apache,
-# such as the number of concurrent requests it can handle or where it
-# can find its configuration files.
-#
-
-#
-# Don't give away too much information about all the subcomponents
-# we are running. Comment out this line if you don't mind remote sites
-# finding out what major optional modules you are running
-ServerTokens OS
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# NOTE! If you intend to place this on an NFS (or otherwise network)
-# mounted filesystem then please read the LockFile documentation
-# (available at );
-# you will save yourself a lot of trouble.
-#
-# Do NOT add a slash at the end of the directory path.
-#
-ServerRoot "/etc/httpd"
-
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-#
-PidFile run/httpd.pid
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 120
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive Off
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 15
-
-##
-## Server-Pool Size Regulation (MPM specific)
-##
-
-# prefork MPM
-# StartServers: number of server processes to start
-# MinSpareServers: minimum number of server processes which are kept spare
-# MaxSpareServers: maximum number of server processes which are kept spare
-# ServerLimit: maximum value for MaxClients for the lifetime of the server
-# MaxClients: maximum number of server processes allowed to start
-# MaxRequestsPerChild: maximum number of requests a server process serves
-
-StartServers 8
-MinSpareServers 5
-MaxSpareServers 20
-ServerLimit 256
-MaxClients 256
-MaxRequestsPerChild 4000
-
-
-# worker MPM
-# StartServers: initial number of server processes to start
-# MaxClients: maximum number of simultaneous client connections
-# MinSpareThreads: minimum number of worker threads which are kept spare
-# MaxSpareThreads: maximum number of worker threads which are kept spare
-# ThreadsPerChild: constant number of worker threads in each server process
-# MaxRequestsPerChild: maximum number of requests a server process serves
-
-StartServers 2
-MaxClients 150
-MinSpareThreads 25
-MaxSpareThreads 75
-ThreadsPerChild 25
-MaxRequestsPerChild 0
-
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, in addition to the default. See also the
-# directive.
-#
-# Change this to Listen on specific IP addresses as shown below to
-# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
-#
-#Listen 12.34.56.78:80
-Listen 80
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Statically compiled modules (those listed by `httpd -l') do not need
-# to be loaded here.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-#
-LoadModule access_module modules/mod_access.so
-LoadModule auth_module modules/mod_auth.so
-LoadModule auth_anon_module modules/mod_auth_anon.so
-LoadModule auth_dbm_module modules/mod_auth_dbm.so
-LoadModule auth_digest_module modules/mod_auth_digest.so
-LoadModule ldap_module modules/mod_ldap.so
-LoadModule auth_ldap_module modules/mod_auth_ldap.so
-LoadModule include_module modules/mod_include.so
-LoadModule log_config_module modules/mod_log_config.so
-LoadModule env_module modules/mod_env.so
-LoadModule mime_magic_module modules/mod_mime_magic.so
-LoadModule cern_meta_module modules/mod_cern_meta.so
-LoadModule expires_module modules/mod_expires.so
-LoadModule deflate_module modules/mod_deflate.so
-LoadModule headers_module modules/mod_headers.so
-LoadModule usertrack_module modules/mod_usertrack.so
-LoadModule setenvif_module modules/mod_setenvif.so
-LoadModule mime_module modules/mod_mime.so
-LoadModule dav_module modules/mod_dav.so
-LoadModule status_module modules/mod_status.so
-LoadModule autoindex_module modules/mod_autoindex.so
-LoadModule asis_module modules/mod_asis.so
-LoadModule info_module modules/mod_info.so
-LoadModule dav_fs_module modules/mod_dav_fs.so
-LoadModule vhost_alias_module modules/mod_vhost_alias.so
-LoadModule negotiation_module modules/mod_negotiation.so
-LoadModule dir_module modules/mod_dir.so
-LoadModule imap_module modules/mod_imap.so
-LoadModule actions_module modules/mod_actions.so
-LoadModule speling_module modules/mod_speling.so
-LoadModule userdir_module modules/mod_userdir.so
-LoadModule alias_module modules/mod_alias.so
-LoadModule rewrite_module modules/mod_rewrite.so
-LoadModule proxy_module modules/mod_proxy.so
-LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
-LoadModule proxy_http_module modules/mod_proxy_http.so
-LoadModule proxy_connect_module modules/mod_proxy_connect.so
-LoadModule cache_module modules/mod_cache.so
-LoadModule suexec_module modules/mod_suexec.so
-LoadModule disk_cache_module modules/mod_disk_cache.so
-LoadModule file_cache_module modules/mod_file_cache.so
-LoadModule mem_cache_module modules/mod_mem_cache.so
-LoadModule cgi_module modules/mod_cgi.so
-
-#***************************************************
-# For MassBank (Apache Tomcat Connector)
-#***************************************************
-LoadModule jk_module modules/mod_jk.so
-
- Include conf/mod_jk.conf
-
-
-#
-# Load config files from the config directory "/etc/httpd/conf.d".
-#
-Include conf.d/*.conf
-
-#
-# ExtendedStatus controls whether Apache will generate "full" status
-# information (ExtendedStatus On) or just basic information (ExtendedStatus
-# Off) when the "server-status" handler is called. The default is Off.
-#
-#ExtendedStatus On
-
-### Section 2: 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# definition. These values also provide defaults for
-# any containers you may define later in the file.
-#
-# All of these directives may appear inside containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
-# . On HPUX you may not be able to use shared memory as nobody, and the
-# suggested workaround is to create a user www and use that user.
-# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
-# when the value of (unsigned)Group is above 60000;
-# don't use Group #-1 on these systems!
-#
-User apache
-Group apache
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed. This address appears on some server-generated pages, such
-# as error documents. e.g. admin@your-domain.com
-#
-ServerAdmin root@localhost
-
-#
-# ServerName gives the name and port that the server uses to identify itself.
-# This can often be determined automatically, but we recommend you specify
-# it explicitly to prevent problems during startup.
-#
-# If this is not set to valid DNS name for your host, server-generated
-# redirections will not work. See also the UseCanonicalName directive.
-#
-# If your host doesn't have a registered DNS name, enter its IP address here.
-# You will have to access it by its address anyway, and this will make
-# redirections work in a sensible way.
-#
-#ServerName new.host.name:80
-
-#
-# UseCanonicalName: Determines how Apache constructs self-referencing
-# URLs and the SERVER_NAME and SERVER_PORT variables.
-# When set "Off", Apache will use the Hostname and Port supplied
-# by the client. When set "On", Apache will use the value of the
-# ServerName directive.
-#
-UseCanonicalName Off
-
-#
-# DocumentRoot: The directory out of which you will serve your
-# documents. By default, all requests are taken from this directory, but
-# symbolic links and aliases may be used to point to other locations.
-#
-DocumentRoot "/var/www/html"
-
-#
-# Each directory to which Apache has access can be configured with respect
-# to which services and features are allowed and/or disabled in that
-# directory (and its subdirectories).
-#
-# First, we configure the "default" to be a very restrictive set of
-# features.
-#
-
- Options FollowSymLinks
- AllowOverride None
-
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-#
-# This should be changed to whatever you set DocumentRoot to.
-#
-
-
-#
-# Possible values for the Options directive are "None", "All",
-# or any combination of:
-# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
-#
-# Note that "MultiViews" must be named *explicitly* --- "Options All"
-# doesn't give it to you.
-#
-# The Options directive is both complicated and important. Please see
-# http://httpd.apache.org/docs-2.0/mod/core.html#options
-# for more information.
-#
- Options Indexes FollowSymLinks
-
-#
-# AllowOverride controls what directives may be placed in .htaccess files.
-# It can be "All", "None", or any combination of the keywords:
-# Options FileInfo AuthConfig Limit
-#
- AllowOverride None
-
-#
-# Controls who can get stuff from this server.
-#
- Order allow,deny
- Allow from all
-
-
-
-#
-# UserDir: The name of the directory that is appended onto a user's home
-# directory if a ~user request is received.
-#
-# The path to the end user account 'public_html' directory must be
-# accessible to the webserver userid. This usually means that ~userid
-# must have permissions of 711, ~userid/public_html must have permissions
-# of 755, and documents contained therein must be world-readable.
-# Otherwise, the client will only receive a "403 Forbidden" message.
-#
-# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden
-#
-
- #
- # UserDir is disabled by default since it can confirm the presence
- # of a username on the system (depending on home directory
- # permissions).
- #
- UserDir disable
-
- #
- # To enable requests to /~user/ to serve the user's public_html
- # directory, remove the "UserDir disable" line above, and uncomment
- # the following line instead:
- #
- #UserDir public_html
-
-
-
-#
-# Control access to UserDir directories. The following is an example
-# for a site where these directories are restricted to read-only.
-#
-#
-# AllowOverride FileInfo AuthConfig Limit
-# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-#
-# Order allow,deny
-# Allow from all
-#
-#
-# Order deny,allow
-# Deny from all
-#
-#
-
-#
-# DirectoryIndex: sets the file that Apache will serve if a directory
-# is requested.
-#
-# The index.html.var file (a type-map) is used to deliver content-
-# negotiated documents. The MultiViews Option can be used for the
-# same purpose, but it is much slower.
-#
-DirectoryIndex index.html index.html.var
-
-#
-# AccessFileName: The name of the file to look for in each directory
-# for additional configuration directives. See also the AllowOverride
-# directive.
-#
-AccessFileName .htaccess
-
-#
-# The following lines prevent .htaccess and .htpasswd files from being
-# viewed by Web clients.
-#
-
- Order allow,deny
- Deny from all
-
-
-#
-# TypesConfig describes where the mime.types file (or equivalent) is
-# to be found.
-#
-TypesConfig /etc/mime.types
-
-#
-# DefaultType is the default MIME type the server will use for a document
-# if it cannot otherwise determine one, such as from filename extensions.
-# If your server contains mostly text or HTML documents, "text/plain" is
-# a good value. If most of your content is binary, such as applications
-# or images, you may want to use "application/octet-stream" instead to
-# keep browsers from trying to display binary files as though they are
-# text.
-#
-DefaultType text/plain
-
-#
-# The mod_mime_magic module allows the server to use various hints from the
-# contents of the file itself to determine its type. The MIMEMagicFile
-# directive tells the module where the hint definitions are located.
-#
-
-# MIMEMagicFile /usr/share/magic.mime
- MIMEMagicFile conf/magic
-
-
-#
-# HostnameLookups: Log the names of clients or just their IP addresses
-# e.g., www.apache.org (on) or 204.62.129.132 (off).
-# The default is off because it'd be overall better for the net if people
-# had to knowingly turn this feature on, since enabling it means that
-# each client request will result in AT LEAST one lookup request to the
-# nameserver.
-#
-HostnameLookups Off
-
-#
-# EnableMMAP: Control whether memory-mapping is used to deliver
-# files (assuming that the underlying OS supports it).
-# The default is on; turn this off if you serve from NFS-mounted
-# filesystems. On some systems, turning it off (regardless of
-# filesystem) can improve performance; for details, please see
-# http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap
-#
-#EnableMMAP off
-
-#
-# EnableSendfile: Control whether the sendfile kernel support is
-# used to deliver files (assuming that the OS supports it).
-# The default is on; turn this off if you serve from NFS-mounted
-# filesystems. Please see
-# http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
-#
-#EnableSendfile off
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog logs/error_log
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-#
-# The following directives define some format nicknames for use with
-# a CustomLog directive (see below).
-#
-LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
-LogFormat "%h %l %u %t \"%r\" %>s %b" common
-LogFormat "%{Referer}i -> %U" referer
-LogFormat "%{User-agent}i" agent
-
-#
-# The location and format of the access logfile (Common Logfile Format).
-# If you do not define any access logfiles within a
-# container, they will be logged here. Contrariwise, if you *do*
-# define per- access logfiles, transactions will be
-# logged therein and *not* in this file.
-#
-#CustomLog logs/access_log common
-
-#
-# If you would like to have agent and referer logfiles, uncomment the
-# following directives.
-#
-#CustomLog logs/referer_log referer
-#CustomLog logs/agent_log agent
-
-#
-# For a single logfile with access, agent, and referer information
-# (Combined Logfile Format), use the following directive:
-#
-CustomLog logs/access_log combined
-
-#
-# Optionally add a line containing the server version and virtual host
-# name to server-generated pages (internal error documents, FTP directory
-# listings, mod_status and mod_info output etc., but not CGI generated
-# documents or custom error documents).
-# Set to "EMail" to also include a mailto: link to the ServerAdmin.
-# Set to one of: On | Off | EMail
-#
-ServerSignature On
-
-#
-# Aliases: Add here as many aliases as you need (with no limit). The format is
-# Alias fakename realname
-#
-# Note that if you include a trailing / on fakename then the server will
-# require it to be present in the URL. So "/icons" isn't aliased in this
-# example, only "/icons/". If the fakename is slash-terminated, then the
-# realname must also be slash terminated, and if the fakename omits the
-# trailing slash, the realname must also omit it.
-#
-# We include the /icons/ alias for FancyIndexed directory listings. If you
-# do not use FancyIndexing, you may comment this out.
-#
-Alias /icons/ "/var/www/icons/"
-
-
- Options Indexes MultiViews
- AllowOverride None
- Order allow,deny
- Allow from all
-
-
-#
-# WebDAV module configuration section.
-#
-
- # Location of the WebDAV lock database.
- DAVLockDB /var/lib/dav/lockdb
-
-
-#
-# ScriptAlias: This controls which directories contain server scripts.
-# ScriptAliases are essentially the same as Aliases, except that
-# documents in the realname directory are treated as applications and
-# run by the server when requested rather than as documents sent to the client.
-# The same rules about trailing "/" apply to ScriptAlias directives as to
-# Alias.
-#
-ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
-#
-# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
-# CGI directory exists, if you have that configured.
-#
-
- AllowOverride None
- Options None
- Order allow,deny
- Allow from all
-
-
-#
-# Redirect allows you to tell clients about documents which used to exist in
-# your server's namespace, but do not anymore. This allows you to tell the
-# clients where to look for the relocated document.
-# Example:
-# Redirect permanent /foo http://www.example.com/bar
-
-#
-# Directives controlling the display of server-generated directory listings.
-#
-
-#
-# IndexOptions: Controls the appearance of server-generated directory
-# listings.
-#
-IndexOptions FancyIndexing VersionSort NameWidth=*
-
-#
-# AddIcon* directives tell the server which icon to show for different
-# files or filename extensions. These are only displayed for
-# FancyIndexed directories.
-#
-AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
-
-AddIconByType (TXT,/icons/text.gif) text/*
-AddIconByType (IMG,/icons/image2.gif) image/*
-AddIconByType (SND,/icons/sound2.gif) audio/*
-AddIconByType (VID,/icons/movie.gif) video/*
-
-AddIcon /icons/binary.gif .bin .exe
-AddIcon /icons/binhex.gif .hqx
-AddIcon /icons/tar.gif .tar
-AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
-AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
-AddIcon /icons/a.gif .ps .ai .eps
-AddIcon /icons/layout.gif .html .shtml .htm .pdf
-AddIcon /icons/text.gif .txt
-AddIcon /icons/c.gif .c
-AddIcon /icons/p.gif .pl .py
-AddIcon /icons/f.gif .for
-AddIcon /icons/dvi.gif .dvi
-AddIcon /icons/uuencoded.gif .uu
-AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
-AddIcon /icons/tex.gif .tex
-AddIcon /icons/bomb.gif core
-
-AddIcon /icons/back.gif ..
-AddIcon /icons/hand.right.gif README
-AddIcon /icons/folder.gif ^^DIRECTORY^^
-AddIcon /icons/blank.gif ^^BLANKICON^^
-
-#
-# DefaultIcon is which icon to show for files which do not have an icon
-# explicitly set.
-#
-DefaultIcon /icons/unknown.gif
-
-#
-# AddDescription allows you to place a short description after a file in
-# server-generated indexes. These are only displayed for FancyIndexed
-# directories.
-# Format: AddDescription "description" filename
-#
-#AddDescription "GZIP compressed document" .gz
-#AddDescription "tar archive" .tar
-#AddDescription "GZIP compressed tar archive" .tgz
-
-#
-# ReadmeName is the name of the README file the server will look for by
-# default, and append to directory listings.
-#
-# HeaderName is the name of a file which should be prepended to
-# directory indexes.
-ReadmeName README.html
-HeaderName HEADER.html
-
-#
-# IndexIgnore is a set of filenames which directory indexing should ignore
-# and not include in the listing. Shell-style wildcarding is permitted.
-#
-IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
-
-#
-# DefaultLanguage and AddLanguage allows you to specify the language of
-# a document. You can then use content negotiation to give a browser a
-# file in a language the user can understand.
-#
-# Specify a default language. This means that all data
-# going out without a specific language tag (see below) will
-# be marked with this one. You probably do NOT want to set
-# this unless you are sure it is correct for all cases.
-#
-# * It is generally better to not mark a page as
-# * being a certain language than marking it with the wrong
-# * language!
-#
-# DefaultLanguage nl
-#
-# Note 1: The suffix does not have to be the same as the language
-# keyword --- those with documents in Polish (whose net-standard
-# language code is pl) may wish to use "AddLanguage pl .po" to
-# avoid the ambiguity with the common suffix for perl scripts.
-#
-# Note 2: The example entries below illustrate that in some cases
-# the two character 'Language' abbreviation is not identical to
-# the two character 'Country' code for its country,
-# E.g. 'Danmark/dk' versus 'Danish/da'.
-#
-# Note 3: In the case of 'ltz' we violate the RFC by using a three char
-# specifier. There is 'work in progress' to fix this and get
-# the reference data for rfc1766 cleaned up.
-#
-# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)
-# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de)
-# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja)
-# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
-# Norwegian (no) - Polish (pl) - Portugese (pt)
-# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
-# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
-#
-AddLanguage ca .ca
-AddLanguage cs .cz .cs
-AddLanguage da .dk
-AddLanguage de .de
-AddLanguage el .el
-AddLanguage en .en
-AddLanguage eo .eo
-AddLanguage es .es
-AddLanguage et .et
-AddLanguage fr .fr
-AddLanguage he .he
-AddLanguage hr .hr
-AddLanguage it .it
-AddLanguage ja .ja
-AddLanguage ko .ko
-AddLanguage ltz .ltz
-AddLanguage nl .nl
-AddLanguage nn .nn
-AddLanguage no .no
-AddLanguage pl .po
-AddLanguage pt .pt
-AddLanguage pt-BR .pt-br
-AddLanguage ru .ru
-AddLanguage sv .sv
-AddLanguage zh-CN .zh-cn
-AddLanguage zh-TW .zh-tw
-
-#
-# LanguagePriority allows you to give precedence to some languages
-# in case of a tie during content negotiation.
-#
-# Just list the languages in decreasing order of preference. We have
-# more or less alphabetized them here. You probably want to change this.
-#
-LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
-
-#
-# ForceLanguagePriority allows you to serve a result page rather than
-# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
-# [in case no accepted languages matched the available variants]
-#
-ForceLanguagePriority Prefer Fallback
-
-#
-# Specify a default charset for all pages sent out. This is
-# always a good idea and opens the door for future internationalisation
-# of your web site, should you ever want it. Specifying it as
-# a default does little harm; as the standard dictates that a page
-# is in iso-8859-1 (latin1) unless specified otherwise i.e. you
-# are merely stating the obvious. There are also some security
-# reasons in browsers, related to javascript and URL parsing
-# which encourage you to always set a default char set.
-#
-AddDefaultCharset UTF-8
-
-#
-# Commonly used filename extensions to character sets. You probably
-# want to avoid clashes with the language extensions, unless you
-# are good at carefully testing your setup after each change.
-# See http://www.iana.org/assignments/character-sets for the
-# official list of charset names and their respective RFCs.
-#
-AddCharset ISO-8859-1 .iso8859-1 .latin1
-AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
-AddCharset ISO-8859-3 .iso8859-3 .latin3
-AddCharset ISO-8859-4 .iso8859-4 .latin4
-AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
-AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
-AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
-AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
-AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
-AddCharset ISO-2022-JP .iso2022-jp .jis
-AddCharset ISO-2022-KR .iso2022-kr .kis
-AddCharset ISO-2022-CN .iso2022-cn .cis
-AddCharset Big5 .Big5 .big5
-# For russian, more than one charset is used (depends on client, mostly):
-AddCharset WINDOWS-1251 .cp-1251 .win-1251
-AddCharset CP866 .cp866
-AddCharset KOI8-r .koi8-r .koi8-ru
-AddCharset KOI8-ru .koi8-uk .ua
-AddCharset ISO-10646-UCS-2 .ucs2
-AddCharset ISO-10646-UCS-4 .ucs4
-AddCharset UTF-8 .utf8
-
-# The set below does not map to a specific (iso) standard
-# but works on a fairly wide range of browsers. Note that
-# capitalization actually matters (it should not, but it
-# does for some browsers).
-#
-# See http://www.iana.org/assignments/character-sets
-# for a list of sorts. But browsers support few.
-#
-AddCharset GB2312 .gb2312 .gb
-AddCharset utf-7 .utf7
-AddCharset utf-8 .utf8
-AddCharset big5 .big5 .b5
-AddCharset EUC-TW .euc-tw
-AddCharset EUC-JP .euc-jp
-AddCharset EUC-KR .euc-kr
-AddCharset shift_jis .sjis
-
-#
-# AddType allows you to add to or override the MIME configuration
-# file mime.types for specific file types.
-#
-#AddType application/x-tar .tgz
-
-#
-# AddEncoding allows you to have certain browsers uncompress
-# information on the fly. Note: Not all browsers support this.
-# Despite the name similarity, the following Add* directives have nothing
-# to do with the FancyIndexing customization directives above.
-#
-#AddEncoding x-compress .Z
-#AddEncoding x-gzip .gz .tgz
-
-# If the AddEncoding directives above are commented-out, then you
-# probably should define those extensions to indicate media types:
-#
-AddType application/x-compress .Z
-AddType application/x-gzip .gz
-AddType application/x-tar-gz .tgz .msbk
-AddType application/x-httpd-php .php
-AddType application/x-httpd-php-source .phps
-
-#
-# AddHandler allows you to map certain file extensions to "handlers":
-# actions unrelated to filetype. These can be either built into the server
-# or added with the Action directive (see below)
-#
-# To use CGI scripts outside of ScriptAliased directories:
-# (You will also need to add "ExecCGI" to the "Options" directive.)
-#
-AddHandler cgi-script .cgi
-
-#
-# For files that include their own HTTP headers:
-#
-#AddHandler send-as-is asis
-
-#
-# For server-parsed imagemap files:
-#
-AddHandler imap-file map
-
-#
-# For type maps (negotiated resources):
-# (This is enabled by default to allow the Apache "It Worked" page
-# to be distributed in multiple languages.)
-#
-AddHandler type-map var
-
-#
-# Filters allow you to process content before it is sent to the client.
-#
-# To parse .shtml files for server-side includes (SSI):
-# (You will also need to add "Includes" to the "Options" directive.)
-#
-AddType text/html .shtml
-AddOutputFilter INCLUDES .shtml
-
-#
-# Action lets you define media types that will execute a script whenever
-# a matching file is called. This eliminates the need for repeated URL
-# pathnames for oft-used CGI file processors.
-# Format: Action media/type /cgi-script/location
-# Format: Action handler-name /cgi-script/location
-#
-
-#
-# Customizable error responses come in three flavors:
-# 1) plain text 2) local redirects 3) external redirects
-#
-# Some examples:
-#ErrorDocument 500 "The server made a boo boo."
-#ErrorDocument 404 /missing.html
-#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
-#ErrorDocument 402 http://www.example.com/subscription_info.html
-#
-
-#
-# Putting this all together, we can internationalize error responses.
-#
-# We use Alias to redirect any /error/HTTP_.html.var response to
-# our collection of by-error message multi-language collections. We use
-# includes to substitute the appropriate text.
-#
-# You can modify the messages' appearance without changing any of the
-# default HTTP_.html.var files by adding the line:
-#
-# Alias /error/include/ "/your/include/path/"
-#
-# which allows you to create your own set of files by starting with the
-# /var/www/error/include/ files and
-# copying them to /your/include/path/, even on a per-VirtualHost basis.
-#
-
-Alias /error/ "/var/www/error/"
-
-
-
-
- AllowOverride None
- Options IncludesNoExec
- AddOutputFilter Includes html
- AddHandler type-map var
- Order allow,deny
- Allow from all
- LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr
- ForceLanguagePriority Prefer Fallback
-
- ErrorDocument 400 /error/400.html
- ErrorDocument 401 /error/401.html
- ErrorDocument 403 /error/403.html
- ErrorDocument 404 /error/404.html
- ErrorDocument 500 /error/500.html
- ErrorDocument 503 /error/503.html
-
-#
-# AllowOverride None
-# Options IncludesNoExec
-# AddOutputFilter Includes html
-# AddHandler type-map var
-# Order allow,deny
-# Allow from all
-# LanguagePriority en es de fr
-# ForceLanguagePriority Prefer Fallback
-#
-
-# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
-# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
-# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
-# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
-# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
-# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
-# ErrorDocument 410 /error/HTTP_GONE.html.var
-# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
-# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
-# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
-# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
-# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
-# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
-# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
-# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
-# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
-# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
-
-
-
-
-#
-# The following directives modify normal HTTP response behavior to
-# handle known problems with browser implementations.
-#
-BrowserMatch "Mozilla/2" nokeepalive
-BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-BrowserMatch "RealPlayer 4\.0" force-response-1.0
-BrowserMatch "Java/1\.0" force-response-1.0
-BrowserMatch "JDK/1\.0" force-response-1.0
-
-#
-# The following directive disables redirects on non-GET requests for
-# a directory that does not include the trailing slash. This fixes a
-# problem with Microsoft WebFolders which does not appropriately handle
-# redirects for folders with DAV methods.
-# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
-#
-BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
-BrowserMatch "^WebDrive" redirect-carefully
-BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
-BrowserMatch "^gnome-vfs" redirect-carefully
-
-#
-# Allow server status reports generated by mod_status,
-# with the URL of http://servername/server-status
-# Change the ".example.com" to match your domain to enable.
-#
-#
-# SetHandler server-status
-# Order deny,allow
-# Deny from all
-# Allow from .example.com
-#
-
-#
-# Allow remote server configuration reports, with the URL of
-# http://servername/server-info (requires that mod_info.c be loaded).
-# Change the ".example.com" to match your domain to enable.
-#
-#
-# SetHandler server-info
-# Order deny,allow
-# Deny from all
-# Allow from .example.com
-#
-
-#
-# Proxy Server directives. Uncomment the following lines to
-# enable the proxy server:
-#
-#
-#ProxyRequests On
-#
-#
-# Order deny,allow
-# Deny from all
-# Allow from .example.com
-#
-
-#
-# Enable/disable the handling of HTTP/1.1 "Via:" headers.
-# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
-# Set to one of: Off | On | Full | Block
-#
-#ProxyVia On
-
-#
-# To enable a cache of proxied content, uncomment the following lines.
-# See http://httpd.apache.org/docs-2.0/mod/mod_cache.html for more details.
-#
-#
-# CacheEnable disk /
-# CacheRoot "/var/cache/mod_proxy"
-#
-#
-
-#
-# End of proxy directives.
-
-### Section 3: Virtual Hosts
-#
-# VirtualHost: If you want to maintain multiple domains/hostnames on your
-# machine you can setup VirtualHost containers for them. Most configurations
-# use only name-based virtual hosts so the server doesn't need to worry about
-# IP addresses. This is indicated by the asterisks in the directives below.
-#
-# Please see the documentation at
-#
-# for further details before you try to setup virtual hosts.
-#
-# You may use the command line option '-S' to verify your virtual host
-# configuration.
-
-#
-# Use name-based virtual hosting.
-#
-#NameVirtualHost *:80
-#
-# NOTE: NameVirtualHost cannot be used without a port specifier
-# (e.g. :80) if mod_ssl is being used, due to the nature of the
-# SSL protocol.
-#
-
-#
-# VirtualHost example:
-# Almost any Apache directive may go into a VirtualHost container.
-# The first VirtualHost section is used for requests without a known
-# server name.
-#
-#
-# ServerAdmin webmaster@dummy-host.example.com
-# DocumentRoot /www/docs/dummy-host.example.com
-# ServerName dummy-host.example.com
-# ErrorLog logs/dummy-host.example.com-error_log
-# CustomLog logs/dummy-host.example.com-access_log common
-#
diff --git a/modules/apache/conf/mod_jk.conf b/modules/apache/conf/mod_jk.conf
deleted file mode 100644
index dd33e5c8..00000000
--- a/modules/apache/conf/mod_jk.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-JkWorkerProperty worker.list=tomcat
-JkWorkerProperty worker.tomcat.type=ajp13
-JkWorkerProperty worker.tomcat.host=localhost
-JkWorkerProperty worker.tomcat.port=8809
-
-JkLogFile /etc/httpd/logs/mod_jk.log
-
-JkMountCopy All
-
-JkMount /MassBank/jsp tomcat
-JkMount /MassBank/jsp/* tomcat
-JkMount /MassBank/temp tomcat
-JkMount /MassBank/temp/* tomcat
-JkMount /MassBank/MultiDispatcher tomcat
-JkMount /MassBank/MultiDispatcher/* tomcat
-JkMount /MassBank/MassBankEnv tomcat
-JkMount /MassBank/MassBankEnv/* tomcat
-JkMount /MassBank/mbadmin tomcat
-JkMount /MassBank/mbadmin/* tomcat
-JkMount /api tomcat
-JkMount /api/* tomcat
-
-JkMount /MassBank/pserver* tomcat
-JkMount /MassBank/ServerMonitor* tomcat
-
-#
-# Order deny,allow
-# Deny from all
-# Allow from localhost
-#
-
-
diff --git a/modules/apache/error/400.html b/modules/apache/error/400.html
deleted file mode 100644
index e08035a2..00000000
--- a/modules/apache/error/400.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-HTTP 400 Error
-
-
-
HTTP 400 Error
-
-
-Bad Request.
-Your browser sent a request that this server could not understand.
-
-Authorization Required.
-This server could not verify that you are authorized to access the document requested.
-Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
-
-Get the peak data of MassBank records specified by Record IDs.
-
-Parameter
-ids : MassBank IDs to get peak data. [type: array of string]
-Response
-Array of Peak (the following structure)
- - id : MassBank IDs obtained. [type: string]
- - numPeaks : Number of peaks [type: int]
- - mzs : values of m/z [type: array of string]
- - intensities : values of intensity [type: array of string]
-
-Get the data of MassBank records specified by Record IDs.
-
-Parameter
-ids : MassBank IDs of records to get. [type: array of string]
-
-Response
-Array of RecordInfo (the following structure)
- - id : MassBank IDs of obtained records [type: string]
- - info : Record information [type: string]
-
-Get the response equivalent to the "Peak Search" results.
-
-Parameter
-
-
-
mzs
[type: array of string]
values of m/z of peaks
-
-
-
relativeIntensity
[type: string]
value of relative intensity of peaks
-
-
-
tolerance
[type: string]
Tolerance.
-
-
-
cutoff
[type: string]
Ignore peaks whose intensity is not larger than the value of cutoff.
-
-
-
instrumentTypes
[type: array of string]
-
-Specify one or more instrument types. Not to restrict instrument types, specify "all".
-Do not specify the values obtained by getInstrumentTypes method.
-
-
-
-
ionMode
[type: string]
-
-Ionization mode
-Specify one of "Positive", "Negative" or "Both" (case is ignored)
-
-
-
-
-
-
maxNumResults
[type: int]
Maximum number of search results. "0" means unspecified and then all results are obtained.
-
-
-
-
-Response
-Array of SearchResult (the following structure)
- |
- + numResults : Number of search results [type: int]
- + Array of Result (the following structure)
- |
- + id : MassBank ID [type: string]
- | title : Record Title [type: string]
- | formula : Molecular formula [type: string]
- + exactMass : Exact mass [type: string]
-
-Get the response equivalent to the "Peak Difference Search" results.
-
-Parameter
-
-
-
mzs
[type: array of string]
values of m/z of peaks
-
-
-
relativeIntensity
[type: array of string]
values of relative intensity of peaks
-
-
-
tolerance
[type: string]
Tolerance.
-
-
-
cutoff
[type: string]
Ignore peaks whose intensity is not larger than the value of cutoff.
-
-
-
instrumentTypes
[type: array of string]
-
-Specify one or more instrument types. Not to restrict instrument types, specify "all".
-Do not specify the values obtained by getInstrumentTypes method.
-
-
-
-
ionMode
[type: string]
-
-Ionization mode
-Specify one of "Positive", "Negative" or "Both" (case is ignored)
-
-
-
-
-
-
maxNumResults
[type: int]
Maximum number of search results. "0" means unspecified and then all results are obtained.
-
-
-
-
-Response
-Array of SearchResult (the following structure)
- |
- + numResults : Number of search results [type: int]
- + Array of Result (the following structure)
- |
- + id : MassBank ID [type: string]
- | title : Record Title [type: string]
- | formula : Molecular formula [type: string]
- + exactMass : Exact mass [type: string]
-
-Get the response equivalent to the "Spectrum Search" results.
-
-Parameter
-
-
-
mzs
[type]array of string
values of m/z of peaks
-
-
-
intensities
[type]array of string
values of intensity of peaks
-
-
-
unit
[type]string
Unit of tolerance. Specify "unit" or "ppm". (Default: "unit")
-
-
-
tolerance
[type]string
Tolerance of values of m/z of peaks. (Default: 0.3 unit or 50 ppm)
-
-
-
cutoff
[type]string
Ignore peaks whose intensity is not larger than the value of cutoff. (Default: 50)
-
-
-
instrumentTypes
[type]array of string
-
-Specify one or more instrument types. Not to restrict instrument types, specify "all".
-Do not specify other than the values obtained by getInstrumentTypes method.
-
-
-
-
ionMode
[type]string
-
-Ionization mode
-Specify one of "Positive", "Negative" or "Both" (case is ignored)
-
-
-
-
-
-
maxNumResults
[type]int
Maximum number of search results. "0" means unspecified and then all results are obtained.
-
-
-
-
-Response
-Array of SearchResult (the following structure)
-
-
- - numResults : Number of search results [type]int
- - results : Inforamation of search results Array of Result (the following structure)
- |
- + id : MassBank ID [type]string
- + title : Record title [type]string
- | formula : Molecular formula [type]string
- | exactMass : Exact mass [type]string
- + score : Score [type]string
-
-
-
-Exception
-Error Message
-"Invalid parameter : xxxxx" : when an invalid parameter is specified
-