Постановка задачи в общем случае не решаемая, но можно сделать процесс правки исходников и базы данных на столько дорогой, что это перестанет иметь смысл.
Одно слово - обфускация. С кодом даже немного просто (можно просто скомпилировать код в jvm/llvm/бинарный код процессора, и это уже создаст море проблем), вот с базой данных по сложнее, так как вам потребуется уже на этапе разработки внедрять в код приложения (в виде прослойки или сразу) шифрование данных и сокрытие имен таблиц (чтобы были безликие наборы символов).
Если чтение базы данных не проблема, то ее можно и не шифровать, но в каждую запись потребовать добавление поля, в которое необходимо поместить цифровую подпись данных или хотя бы хеш с солью, при этом эта соль должна быть секретной и сокрыта в обфусцированном коде. Сделайте соль разной для разных типов данных или даже сценариев использования, чтобы было недостаточно расковырять один участок кода, пусть исследователи копаются в нем во всем. В результате данные снаружи будут доступны, но любые 'неправомерные' изменения заблокируют работу приложения (оно должно будет проверять подписи данных и при несоответствии останавливать работу).
p.s. есть есть доступ в интернет и много клиентов, можно заставить пользователей (их инсталляций приложения само собой) следить друг за другом и контролировать неправомерные изменения, но это уже из разряда создания proof-of-что-нибудь и блокчейна ;) ха ха но именно это позволило решить проблему неправомерных изменений 'амбарной' книги bitcoin и аналогов.
p.p.s. если бы вы были моим исполнителем, идущим на подобные шаги, уволил бы нахрен, и всем бы в округе рассказал ;)
----
Про коробочную версию, у php есть штаный механизм упаковки всего проекта в phar файл (это zip файл), мало того, в 99% случаев для запуска приложения достаточно только php, запустив его с ключом -S поднимется упрощенный веб сервер (не подходит для высокой нагрузки). Так же при использовании sqlite база данных будет идти в виде одного файла, итого - весь проект можно передать двумя файлами и короткой инструкцией по установке, или же базу данных можно создавать автоматически при первом запуске.